![](/img/trans.png)
[英]How to pass a QString to a Qt slot from a QMenu via QSignalMapper or otherwise
[英]How to pass a QAction to a Qt slot from a QMenu
我是Qt的新手,我在如何將QAction作為像這樣的代碼的參數傳遞方面遇到問題:
connect(fileToolBarAct, SIGNAL(toggled(bool)), this, SLOT(ToggleBar(fileToolBarAct));
這是我的廣告位功能:
void MainWindow::ToggleBar(QAction& what)
{
what.isCheckable();
}
QObject::connect
不能這樣工作。 您不能將對象傳遞給SIGNAL
和SLOT
宏。 SIGNAL
和SLOT
宏應帶有函數簽名。 此外the signature of a signal must match the signature of the receiving slot
Qt
文檔中所述the signature of a signal must match the signature of the receiving slot
。
我發現您缺乏對信號和插槽機制的理解,建議您閱讀Qt信號和插槽文檔以獲取更多信息。 閱讀Qt Signals and Slots
文檔將為您清除所有內容。
onnect(fileToolBarAct, SIGNAL(toggled(bool)), this, SLOT(ToggleBar(bool));
void MainWindow::ToggleBar(bool checked)
{
QAction* action = qobject_cast<QOAction*>(sender());
if (action)
action->setChecked(checked);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.