Я создал собственный виджет, он должен отображаться в виде всплывающего меню при нажатии на кнопку ToolButton. Как я могу сделать это в Qt 5.1.1?
Qt 5.1.1
Вы должны создать свой собственный QWidgetAction добавить во всплывающее меню.
QWidgetAction
Это образец QWidgetAction :
#include <QWidgetAction> class myCustomWidgetAction: public QWidgetAction { Q_OBJECT public: explicit myCustomWidgetAction(QWidget * parent); protected: QWidget * createWidget(QWidget *parent); };myCustomWidgetAction::myCustomWidgetAction(QWidget * parent):QWidgetAction(parent) { } QWidget * myCustomWidgetAction::createWidget(QWidget *parent){ myCustomWidget * widget=new myCustomWidget(parent); return widget; }
Затем вы можете добавить свой виджет к кнопке инструмента, которая будет отображаться во всплывающем меню:
myCustomWidgetAction * widgetAction = new myCustomWidgetAction(this); ui->toolButton->addAction(widgetAction);
myCustomWidget может быть любой виджет. Вы можете добавить несколько экземпляров myCustomWidgetAction на кнопку инструмента.
myCustomWidget
myCustomWidgetAction