在QMenu中更改QAction的文本

4

我有一个QMenu对象,其中添加了一些带有特定文本的QAction对象。所有的都很好,但是我想在运行时更改这些QActions的文本。我查看了QMenu API,没有找到任何方法可以获取它们。我也尝试了actions.at(x)等几种方式。正确的方法是什么?

1个回答

3

这取决于你如何构建你的应用程序。在某些情况下,您可能会将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的指针。 - Gustavo Litovsky

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接