QTreeView, Разворачивание по двойному щелчку. |
Здравствуйте, гость ( Вход | Регистрация )
QTreeView, Разворачивание по двойному щелчку. |
Letis |
1.10.2014, 14:13
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 1 Регистрация: 1.10.2014 Пользователь №: 4237 Спасибо сказали: 0 раз(а) Репутация: 0 |
Хочу добиться от QTreeView элементарно очевидных действий - сворачивания/разворачивания item-ов по Enter -у или двойному клику. Указатель на QTreeView-экземпляр у меня является полем моего большого(главного) виджета. В этом главном виджете есть слот который принимает QModelIndex проверяя его через isExpanded закрывает или открывает item. На него я навесил сигналы "дерева" doubleClicked и activated. Реакция такова - Enter работает исправно, а вот двойной клик работает исключительно при щелчке на 0-ом столбце. Всего столбцов 3 и при щелчке на 1 и 2 они раскрываются, но закрываться не хотят. Поведение хоть и приемлемое, но странное. Мне до жути интересно почему именно так?
Вот чуть чуть кода на всякий случай(если ещё какие-нибудь кусочки необходими для понимания - выложу): Это в конструкторе прописано:
А это собственно сам слот:
Сразу говорю пробовал и expand и collapse и setExpanded (index, true/false). ЗЫ.: Есть мысли на тему, что что-то там конфликтует из-за того что doubleClicked скорее всего и activated отправляет. Но почему в 0 колонке его всё устраивает, а 1 и 2 закрываться не хотят? А почему 1 и 2 именно открываются, но ни в какую не закрываются? Ой. Чуть чуть приврал. :-) В том варианте слота на щелчки по 1 и 2 колонке в принципе не дают реакции. Описанное поведение наблюдается при таком слоте:
ЗЗЫ: Блин Совсем замотался. Всё правильно изначально. 2-ой вариант (с проверкой столбца) = нет реакции на 1 и 2 колонке. Без проверки = 1 и 2 только открываются. Да. Вот Точно :-) |
|
|
Текстовая версия | Сейчас: 2.12.2024, 13:35 |