Я пытаюсь вставить в свой интерфейс флажок, который может установить логическую переменную из другого класса true или false в соответствии с его проверенным состоянием.Проблема в том, что сигнал не излучается.
Переменная определена в заголовочном файле моего 1-го класса (renderarea.h) как
public:
bool selectionMode;
Слот определен в заголовочном файле 2-го класса как void
protected slots:
void setSelectionMode(bool mode);
И сигнал подключен к слоту в моем исходном файле второго класса в конструкторе как:
PaintWidget::PaintWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::PaintWidget)
{
connect(ui->selectionModeCheckBox, SIGNAL(toggled(bool)), this, SLOT(setSelectionMode(bool)));
}
void PaintWidget::setSelectionMode(bool mode)
{
ui->displayWidget->selectionMode = mode;
QMessageBox msgbox;
if (ui->displayWidget->selectionMode == true)
msgbox.setText("selection mode is true");
else
msgbox.setText("selection mode is false");
}
Я использую QMessageBox здесь только для целей тестирования.Но при отладке я увидел, что сигнал не излучается.Что я делаю не так?