C++ 如何添加自定义小部件作为ToolButton的弹出菜单?
我已经创建了一个自定义小部件,当单击ToolButton时,它必须显示为弹出菜单。如何在C++ 如何添加自定义小部件作为ToolButton的弹出菜单?,c++,qt,widget,qt5,qtoolbutton,C++,Qt,Widget,Qt5,Qtoolbutton,我已经创建了一个自定义小部件,当单击ToolButton时,它必须显示为弹出菜单。如何在Qt 5.1.1中执行此操作?您应该创建自定义QWidgetAction以添加到弹出菜单中 这是一个示例QWidgetAction: #include <QWidgetAction> class myCustomWidgetAction: public QWidgetAction { Q_OBJECT public: explicit myCustomWidgetAction(
Qt 5.1.1
中执行此操作?您应该创建自定义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;
}
myCustomWidget
可以是任何小部件。您可以将多个myCustomWidgetAction
实例添加到toolButton。@SureshR如果工作正常,则将答案标记为已接受。开始接受所有有助于解决其他问题的答案。否则,下次你遇到问题时,没有人会帮助你;)
myCustomWidgetAction * widgetAction = new myCustomWidgetAction(this);
ui->toolButton->addAction(widgetAction);