我想使用QToolButton類的自動重複功能。如何在qtoolbar的qaction上設置auto = repeat?
問題是,實例是在使用QToolBar :: addAction()時自動創建的,我無法找到達到它們的方法:QToolBar :: widgetForAction()在這種情況下似乎不起作用返回NULL)。
任何想法? 謝謝
我想使用QToolButton類的自動重複功能。如何在qtoolbar的qaction上設置auto = repeat?
問題是,實例是在使用QToolBar :: addAction()時自動創建的,我無法找到達到它們的方法:QToolBar :: widgetForAction()在這種情況下似乎不起作用返回NULL)。
任何想法? 謝謝
似乎沒有簡單的方法。我發現最好的方法是使用的QObject :: findChldren:
foreach(QToolButton* pButton, pToolBar->findChildren<QToolButton*>()) {
if (pButton->defaultAction() == pTheActionIWant) {
...
}
}
事實上,在我的情況下不返回NULL,也許你正在做的事情不同。我的代碼如下:
QToolButton* button = dynamic_cast<QToolButton*>(
ui.toolBar->widgetForAction(ui.action));
對我來說,它的工作原理....也許你不是在鑄造?如果我不投射,這個方法返回一個QWidget *和我的編譯器問題和錯誤。
僅供參考,我正在使用Visual Studio 2005與Qt 4.6。
我使用的Qt 4.5,他們可能已經修復它。 – gregseth