У меня есть QMainWindow, отображающее QDialog:
CalibrationDialog d(this);
d.exec();
Мой класс QMainWindow имеет сигнал:
signals:
void PenOn( QPoint p );
А у QDialog есть слот:
public slots:
void on_PenON( QPoint p );
Я попытался соединить событие PenOn с on_PenOn двумя способами:
- После создания экземпляра QDialog
void MainWindow::on_actionC_triggered()
{
appState = CALIBR;
CalibrationDialog d(this);
connect( this, SIGNAL(PenOn(QPoint)), &d,SLOT(on_PenOn(QPoint)) );
d.exec();
}
- В конструкторе QDialog
CalibrationDialog::CalibrationDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::CalibrationDialog)
{
ui->setupUi(this);
[...]
connect( parent, SIGNAL(PenOn(QPoint)), this,SLOT(on_PenOn(QPoint)) );
}
Ничего из этого не работает :(.
Я посылаю сигнал PenOn из слота MainWindow, активированного другим потоком.
Что я делаю не так?