通过qtcreator / qtdesigner将QWidgetAction添加到QMenu

时间:2014-02-07 16:27:08

标签: c++ qt qt-creator qt5 qt-designer

我想知道是否有办法使用qtcreator或qtdesigner将QWidgetAction添加到QMainwindow-> QMenuBar-> QMenu。

我可以通过以下代码添加小部件:

//ui->myMenu is QMenu in QMenuBar of QMainWindow
QWidgetAction *act = new QWidgetAction(ui->myMenu);  
QLineEdit* edt = new QLineEdit("I am Line edit",ui->myMenu);
//setup edt ...
act->setDefaultWidget(edt);
ui->myMenu->addAction(act);

它按预期编译和工作。

但是,我无法使用ui designer实现相同的行为 - 它只允许我将QAction和QMenu类添加为QMenuBar / QMenu的一部分,并且不提供将QAction提升为QWidgetAction的选项。有没有办法通过设计器添加QWidgetAction和与之关联的小部件,将它们作为Ui命名空间的一部分,并通过ui编辑器编辑它们的属性?

1 个答案:

答案 0 :(得分:6)

不幸的是,这是不可能的。