C++ 更改QAction中的文本,该操作为';它在QMenu中

C++ 更改QAction中的文本,该操作为';它在QMenu中,c++,qt,C++,Qt,我有一个QMenu对象,其中添加了几个带有特定文本的QAction对象。除了我想在运行时更改这些QActions的文本之外,所有这些都工作得很好。我查看了QMenu API,没有找到任何方法来获取它们。我还尝试了actions.at(x)和其他一些东西。正确的方法是什么?这实际上取决于你如何构建你的应用程序。在某些情况下,您可能会将QAction保存为成员,您可以直接访问这些成员。或者您可能只是保存QMenu并用QAction填充它。无论哪种方式,一旦您执行了操作,只需对其调用setText(Q

我有一个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
位置查找操作。再次强调,这实际上取决于您将如何确定要更改的操作。

谢谢。我只是有一个指向我正在添加的QAction的指针,然后对它进行了修改。