Нужно запретить перемещение только некоторых итемов, остальные перемещать можно.
У меня есть Представление QTreeView и древовидная модель QStandardItemModel подключенная к представлению. Итемы в модели QStandardItem. В разных ветках дерева могут быть элементы с одинаковым именем (QStandardItem->text()) Перемещение элементов дерева из одной ветки в другую настроено и работает как надо за исключением одной вещи. Мне нужно чтобы при перемещении итема из одной ветки в другую перемещение не происходило если в конечной ветке есть итем с таким-же именем.
На данный момент мне удалось сделать следующее: при переносе элемента в ветку в которой есть итем с таким именем, я вывожу предупреждение, что перемещение невозможно, но в Представлении перемещение все равно успешно происходит и итем перемещается. Как сделать так что-бы и в Представлении итем не перемещался? А остальные итемы естественно должны перемещаться без проблем.
Я подумал, что во время перемещения мне нужно каким-то образом получить индекс модели для элемента на который я перемещаю и затем сделать его, например, неизменяемым (setEditable(false)). Но как можно было бы получить этот индекс я не знаю. Может кто-нибудь подскажет?
Может быть то что мне нужно, вообще должно реализовываться не через запрет изменения итема а как-то иначе? Подскажите.
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.Do you like it? Share on social networks!
- Ora Iro
- Dec. 24, 2024, 5:38 p.m.
C++ - Test 001. The first program and data types
- Result:40points,
- Rating points-8
- Akiv Doros
- Nov. 12, 2024, 1:58 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:50points,
- Rating points-4
- molni99
- Oct. 26, 2024, 11:37 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:80points,
- Rating points4