Я изучаю 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)));
, метка исчезнет.
Итак, почему он не работает с сигналом "переключен". Я предполагаю, что он не может найти этот сигнал. Ребята, вы можете пролить немного света?