我有一个QMenu对象,并向其中添加了一些带有特定文本的QAction对象。一切正常,除了我想在运行时更改那些QAction的文本。我看过QMenu API,却找不到任何方法来获取它们。我还尝试了action.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
位置查找 Action 。同样,这实际上取决于您将如何确定要更改的操作。关于c++ - 在QMenu内部的QAction中更改文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13984643/