Я бы сделал сигнал и подключил его к слоту в главном окне.
Например:
class OptionsDialog : public QDialog
{
Q_OBJECT
signals:
void resize(int w, int h);
};
class MainWindow : public QMainWindow
{
Q_OBJECT
private slots:
void resizeRequest(int w, int h);
};
void OptionsDialog::resetWindowLayoutClicked(QResizeEvent* event)
{
emit resize(640, 483);
}
Когда вы создаете диалог параметров, подключите сигнал следующим образом:
OptionsDialog* d = new OptionsDialog(this);
connect(d, SIGNAL(resize(int,int)), this, SLOT(resizeRequest(int,int)));
И реализовать слот:
void MainWindow::resizeRequest(int w, int h)
{
resize(w, h);
}