Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Связь QPushButton и QAction


Автор: Brodyaga 29.10.2010, 14:17
Всем доброго суток!

Интересует такой вопрос: у меня в программе выполняются некие одинаковые действия через меню, тулбар и через кнопки расположенные на форме. Можно ли для одного действия сделать один QAction, которые можно было бы использовать и в меню и в тулбаре и повесить его както на кнопку?
На меню и тулбар точно знаю, что можно QAction один повесить, а вот как быть с кнопкой?

Автор: arial 29.10.2010, 14:37
connect(pushButton, SIGNAL(clicked()), action, SIGNAL(triggered()))

Автор: Brodyaga 29.10.2010, 14:54
А можно ли както задать QAction кнопке, чтобы передались некоторые свойства QAction'а кнопке, например всплывающая подсказка(ToolTip), иконка и т.д. ?

Автор: Brodyaga 30.10.2010, 12:10
Видимо нельзя.. Ладно тема закрыта.

Автор: SABROG 30.10.2010, 12:13
Цитата(Brodyaga @  29.10.2010,  14:54 Найти цитируемый пост)
А можно ли както задать QAction кнопке, чтобы передались некоторые свойства QAction'а кнопке, например всплывающая подсказка(ToolTip), иконка и т.д. ? 

Можно, но QPushButton нужно заменить на QToolButton и прописать такое:

Код

    ui->toolButton->setDefaultAction(action);
    ui->toolButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);


Тогда и иконка, и всплывающая подсказка, и действия и текст будут одинаковые для элемента меню, кнопки в тулбаре и кнопки на виджете.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)