我正在學習QT並嘗試一些例子。插槽功能沒有被調用
我試圖做一個對話框,當一個按鈕被按下時消失一個標籤,並使得它在再次按下同一個按鈕時出現。
以下是代碼。
#include <QApplication>
#include <QPushButton>
#include <QLabel>
#include <QDialog>
#include <QObject>
#include <QHBoxLayout>
int main(int argc, char ** argv)
{
QApplication app(argc, argv);
QDialog *dialog = new QDialog;
QPushButton *testButton = new QPushButton(QObject::tr("test"));
QLabel * testLabel = new QLabel (QObject::tr("test"));
QHBoxLayout * layout = new QHBoxLayout;
layout->addWidget(testButton);
layout->addWidget(testLabel);
QObject::connect(testButton, SIGNAL(toggled(bool)), testLabel, SLOT(setVisible(bool)));
dialog->setLayout(layout);
dialog->show();
return app.exec();
}
它不工作。每當我按下測試按鈕什麼都不會發生。但是,如果我將信號插槽連接更改爲QObject::connect(testButton, SIGNAL(clicked(bool)), testLabel, SLOT(setVisible(bool)));
,則會使標籤消失。
所以,它爲什麼不處理信號「切換」。我猜測的是,它無法找到那個信號。你們可以扔光嗎?