我有一个QMenu对象,其中添加了一些带有特定文本的QAction对象。所有的都很好,但是我想在运行时更改这些QActions的文本。我查看了QMenu API,没有找到任何方法可以获取它们。我也尝试了actions.at(x)等几种方式。正确的方法是什么?
这取决于你如何构建你的应用程序。在某些情况下,您可能会将QAction
保存为成员,以便可以直接访问它们。或者您只是保存QMenu
并使用QAction
填充它。无论哪种方式,一旦有了你的操作,你只需要调用setText(QString)
方法:
// init
menu = new QMenu(this);
...
menu->addAction("foo");
// later on
QAction *action = menu->actions().at(0); // access just the first QAction
action->setText("bar");
QMenu
还允许您通过 QPoint
位置查找操作。再次强调,这取决于您确定要更改哪个操作的方式。