Я новичок в 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
документация.
Я вижу, что вам не хватает понимания механизма сигналов и слотов, и я рекомендую вам прочитать 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);
}