Я работаю с QT Creator 4.9.1, и я сделал графический интерфейс с дизайнером. У меня есть MainWindow со stackedWidget и около 60 страниц, внутри моего главного окна у меня есть кнопка, с сигналом onButton_clicked
я открываю диалог (показать картинку), чтобы вставить число, чтобы установить страницу, которую пользователь хочет видеть внутри MainWindow.
Моя проблема в том, что СИГНАЛ приходит из Диалога с именем on_pushButton_Enter_clicked
, а мой СЛОТ находится в моем главном окне с именем setCurrentIndex()
. Я прочитал пост: «Как подключить сигнал из MainWindow к слоту в диалоге» и «Qt подключить главное окно и диалог, используя сигнал и слот».
Но это не помогает мне, потому что мой диалог не знает о моем главном окне, и я не знаю, как их соединить.
Сигнал:
Dialognummer_eingeben.h
...
signals:
void enterButtonPressed();
...
void Dialognummer_eingeben::on_pushButton_Enter_clicked()
{
QString text = ui->lineEdit_Dialognummer->text();
ui->lineEdit_Dialognummer->setText("");
this->reject();
emit enterButtonPressed();
}
Слот:
Terminal::Terminal(QWidget *parent) : QMainWindow(parent), ui(new Ui::Terminal)
{
ui->setupUi(this);
QObject::connect(&dialog, SIGNAL(enterButtonPressed()), this, SLOT(setCurrentIndex()));
}
void Terminal::setCurrentIndex()
{
int num = dianr.getNum();
QString strNum = QString::number(num);
switch(num)
{
....
}
}

Редактировать: 1. Добавить сигнал и код слота
2. Сделайте некоторые изменения внутри кода