QWidget* widget; QList<QWidget*> widgets = findChildren<QWidget*>(); foreach( widget, widgets ) { if (widget->inherits("QCheckBox")) connect(widget, SIGNAL(stateChanged(int)), this, SLOT(slChanged())); else if (widget->inherits("QComboBox")) connect(widget, SIGNAL(currentIndexChanged(int)), this, SLOT(slChanged())); else if (widget->inherits("QtColorPicker")) connect(widget, SIGNAL(colorChanged(const QColor &)), this, SLOT(slChanged())); }
C++ (Qt)MySetting temp = theGlobalSettings; // делаем копиюif (SettingsDialog(&temp).exec()) { // пользователь редактирует и жмет Ок if (!theGlobalSettings.Equal(temp)) { // можно и оператор != theGlobalSettings = temp; // принимаем новые установки theGlobalSettings.Save(); // сохраняем на диск } }
if( sender()->specialWidget() ) return;changed = true;