![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
poluna |
![]()
Сообщение
#11
|
Студент ![]() Группа: Участник Сообщений: 27 Регистрация: 5.10.2015 Пользователь №: 4458 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Теперь я поняла тебя.
![]() Вариант неплох, и вроде как даже проще в реализации. Всё, вопрос пока снимаю. Знаю как реализовывать! ![]() |
|
|
lanz |
![]()
Сообщение
#12
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Цитата "внемодельное" дерево Ойойой, не слушайте его, он вас плохому научит! ![]() По идее модель в комбобоксе и модель в дереве слева - это должна быть одна и та же модель. Поэтому индекс от одного должен подходить к индексу от другого. Т.е. вы сначала получаете выделенный индекс от дерева (назовем его idx) потом в комбобоксе делаете
http://doc.qt.io/qt-4.8/qcombobox.html#setRootModelIndex http://doc.qt.io/qt-4.8/qcombobox.html#currentIndex-prop |
|
|
Алексей1153 |
![]()
Сообщение
#13
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
lanz, да можно и в модели хранить, но я так не люблю делать, это же неудобно ))
lanz, оно, вообще говоря, так и происходит - противоречий нету, но некоторые операции по своему контейнеру удобнее производить А в данном случае твой вариант лучше будет, конечно ) Сообщение отредактировал Алексей1153 - 16.12.2015, 13:08 |
|
|
ViGOur |
![]()
Сообщение
#14
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
А по моему Алексей1153 предложил хороший способ, я сам подобным же пользуюсь.
Есть список (QList) или дерево(QMap), которое откуда-то загружается и которое отображается в модели. Очень удобно добавлять, редактировать, удалять. А модель это же абстракция и она не должна по идее хранить данные, как и вид. ![]() lanz, выше сказано Есть у меня класс TreeComboBox, как можно понять из названия в QComboBox у меня находится QTreeView. и как я понимаю твой метод идеально подходит для QComboBox, но не для переопределенного класса. Дождемся автора, что она скажет! |
|
|
poluna |
![]()
Сообщение
#15
|
Студент ![]() Группа: Участник Сообщений: 27 Регистрация: 5.10.2015 Пользователь №: 4458 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
lanz, если в комбобоксе стандартными средствами можно показать дерево, то твой метод подойдет, но я не смогла.
Как я поняла для показа дерева в комбобокс нужно переопределять класс, я сделала так: если я не права, то буду только рада, сразу куча проблем исчезнет! ![]() Но пока не знаю как! |
|
|
lanz |
![]()
Сообщение
#16
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
poluna, ну у меня ваш код вроде работает как надо, ЧЯДНТ?
![]() Немножко поменял hidePopup, чтобы он сразу все не корячил:
|
|
|
poluna |
![]()
Сообщение
#17
|
Студент ![]() Группа: Участник Сообщений: 27 Регистрация: 5.10.2015 Пользователь №: 4458 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Все, поняла, все работает!
![]() Выкладываю работающий пример, так же на python: пример
lanz, спасибо огромное! ![]() |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 16.2.2025, 20:54 |