Нужно запретить перемещение только некоторых итемов, остальные перемещать можно.
У меня есть Представление QTreeView и древовидная модель QStandardItemModel подключенная к представлению. Итемы в модели QStandardItem. В разных ветках дерева могут быть элементы с одинаковым именем (QStandardItem->text()) Перемещение элементов дерева из одной ветки в другую настроено и работает как надо за исключением одной вещи. Мне нужно чтобы при перемещении итема из одной ветки в другую перемещение не происходило если в конечной ветке есть итем с таким-же именем.
На данный момент мне удалось сделать следующее: при переносе элемента в ветку в которой есть итем с таким именем, я вывожу предупреждение, что перемещение невозможно, но в Представлении перемещение все равно успешно происходит и итем перемещается. Как сделать так что-бы и в Представлении итем не перемещался? А остальные итемы естественно должны перемещаться без проблем.
Я подумал, что во время перемещения мне нужно каким-то образом получить индекс модели для элемента на который я перемещаю и затем сделать его, например, неизменяемым (setEditable(false)). Но как можно было бы получить этот индекс я не знаю. Может кто-нибудь подскажет?
Может быть то что мне нужно, вообще должно реализовываться не через запрет изменения итема а как-то иначе? Подскажите.
Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!
Пікірлер
- Соңғы пікірлер
- ИМҚар. 22, 2024, 9:51 Т.Қ.Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
- Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
- ИМҚаз. 5, 2024, 4:51 Т.Қ.Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
- Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
- Енді форумда талқылаңыз
- fАқп. 15, 2025, 1:46 Т.Қ.Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
- Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.
Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопределенной функции dragMoveEvent()
Теперь нужно где-то сохранить QModelIndex перетаскиваемого элемента. Полагаю - это можно сделать в переопределенной функции mousePressEvent(), но пока не получается.Получилось сделать это через слот подключенный к сигналу мыши pressed