Здравствуйте, гость ( Вход | Регистрация )
asket | Дата 21.8.2014, 14:08 |
ответ на вопрос нашел. можно закрывать! Надо было не кнопку создавать, а объект QAction, затем добавить этот элемент в toolBar, а там уже можно извращаться с кнопкой как угодно душе. |
|
asket | Дата 21.8.2014, 13:22 |
У меня вопрос как раз по контекстному меню на QTreeWidget. В главном окне MainWindow в доке mainToolBar создал кнопку QToolButton, которая проваливается внутрь и держится в таком состоянии до повторного нажатия, в качестве CentralWidget я создал объект собственного класса производного от QTreeWidget, в нем контекстное меню, но почему же при выборе пункта в контекстном меню treeWidget вышеупомянутая кнопка возвращается в исходное состояние (отскакивает)? Фрагмент кодов: вставка кнопки QToolButton в mainToolBar
Этот код создает и вызывает контекстное меню
буду благодарен за любую помощь. |
|
Litkevich Yuriy | Дата 21.8.2014, 11:04 |
Краткая экскурсия: В Qt, меню и панели инструментов строятся на основе НЕвизуальных классов - QAction, которые описывают действие (например, "Копировать"). Затем действия связываются с неким визуальным объектом, например, QMenu. Для произвольного виджета, можно установить контекстное меню следующим образом: 1) Создать нужные действия 2) Связать эти действия с виджетом, с помощью его метода void QWidget::insertAction ( QAction * before, QAction * action ) 3) Задать политику контекстного меню виджета равную Qt::ActionsContextMenu, чтобы контекстное меню отображало все связанные с виджетом действия. В качестве живого примера рекомендую изучить демку %QTDIR%/demos/sqlbrowser Тебе нужно изучить ConnectionWidget, он содержит QTreeWidget, являющися родственным для QListWidget |
|
Kostya | Дата 19.8.2014, 5:42 |
Здравствуйте! Не давно начал изучать Qt и не как не могу понять как установить КМ на элементы QListWidget, если можно дайте пример. | |
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 23.4.2024, 14:47 |