对于您可以创建自定义弹出菜单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;
}
然后,您可以您的小工具添加到工具按钮在弹出菜单中进行diaplayed:
myCustomWidgetAction * widgetAction = new myCustomWidgetAction(this);
ui->toolButton->addAction(widgetAction);
您的自定义窗口小部件可以包含不同元素的列表或者它可以是任何其他小部件。您还可以将多个myCustomWidgetAction实例添加到toolButton。
你也可以将它添加到QMenu,如:
QMenu* menu = new QMenu();
menu->addAction(widgetAction);
它的工作,谢谢! – abousquet
欢迎来到Stack Overflow!现在你赢得了一些声誉,你也可以提出答案。我认为这里有几个很好的答案。 – ypnos