void MainWindow::showSettings(){ QDialog *d = new QDialog(this); Ui_Dialog *dlg = new Ui_Dialog(); dlg->setupUi(d); // connect не работыет connect(dlg->styleBox,SIGNAL(activated(const QString &)), this, SLOT(changeStyle(const QString &))); d->exec(); // это сработает после закрытия диалога QString *str = new QString("CDE"); *str = dlg->styleBox->itemText(dlg->styleBox->currentIndex()); changeStyle(*str); }
#ifndef FRSELECT_H#define FRSELECT_H#include <QMainWindow>#include <QtSql>#include <QMetaType>#include <QtGui>#include "ui_frSelectForm.h"#include "../include/TForm.h"class cfrSelectForm : public QDialog, public Ui::frSelectForm // Ui::... - выдераю из исходников сгенерированных после компиляции .ui файла{ Q_OBJECTpublic: cfrSelectForm(QWidget *parent = 0);protected:public slots:protected:private:TForm *main; // указатель на класс моего наследника QMainWindow (главного окна)};#endif
#include <QtGui>#include <QtSql>#include <QMetaType>#include "../include/TForm.h"#include "../include/frSelectForm.h"cfrSelectForm::cfrSelectForm(QWidget *parent): QDialog(parent, Qt::Sheet){ main = (TForm *)parent; setupUi(this); main->setWindowTitle("test"); // проверяю, для теста устанавливаю заголовок главной формы}
#include <QtGui>#include <QtSql>#include <QMetaType>#include "../include/TForm.h"#include "../include/frSelectForm.h"void TForm::addFreight(){ cfrSelectForm selectFreight(this); // метод создает нашу модальную форму selectFreight.exec();}
void TForm::on_cbStyles_currentIndexChanged( const QString & text ){ qApp->setStyle(text); qApp->setPalette( qApp->style()->standardPalette() );}