2012-12-21 37 views
2

我有一個QMenu對象,我在其中添加了幾個帶有特定文本的QAction對象。除了我希望在運行時更改這些QAction的文本之外,所有的工作都很好。我查看了QMenu API,並沒有找到任何方法來獲取它們。我也試過actions.at(x)和其他一些東西。什麼是正確的方法來做到這一點?在QAction中改變QAction中的文本

回答

1

這真的取決於你如何構建你的應用程序。在某些情況下,您可能會將您的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位置查找操作。再次,它確實取決於你將如何確定你想要改變的行動。

+0

謝謝。我只是有一個指向我添加的QAction的指針,然後對其進行了修改。 –