2
我有一個QMenu對象,我在其中添加了幾個帶有特定文本的QAction對象。除了我希望在運行時更改這些QAction的文本之外,所有的工作都很好。我查看了QMenu API,並沒有找到任何方法來獲取它們。我也試過actions.at(x)和其他一些東西。什麼是正確的方法來做到這一點?在QAction中改變QAction中的文本
我有一個QMenu對象,我在其中添加了幾個帶有特定文本的QAction對象。除了我希望在運行時更改這些QAction的文本之外,所有的工作都很好。我查看了QMenu API,並沒有找到任何方法來獲取它們。我也試過actions.at(x)和其他一些東西。什麼是正確的方法來做到這一點?在QAction中改變QAction中的文本
這真的取決於你如何構建你的應用程序。在某些情況下,您可能會將您的QAction
保存爲成員,您可以直接訪問該成員。或者你可能只是保存QMenu
並填入QAction
's。無論哪種方式,一旦你有你的行動,你只需要調用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的指針,然後對其進行了修改。 –