main.cpp #include #include #include "sourceedit.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); MyWidget *widget = new MyWidget(0); widget->resize(800,600); widget->show(); return app.exec(); } sourceedit.cpp #include #include #include "sourceedit.h" #include "preferences.h" MyWidget::MyWidget(QWidget *parent) : QWidget(parent) { button = new QPushButton( "Optionen",this); connect(button, SIGNAL(clicked()), this, SLOT(showOptions())); edit = new QTextEdit(this); edit->setGeometry(10,40,width()-10, height()-10); } QTextEdit *MyWidget::GibZeiger() { return edit; } void MyWidget::showOptions() { MyPreferences *prefs = new MyPreferences(0); prefs->resize(700,400); prefs->show(); // -> Hier neu pref->SetzeZeiger( edit ) } sourceedit.h #ifndef SOURCEEDIT_H #define SOURCEEDIT_H #include #include #include class MyWidget : public QWidget { Q_OBJECT public: MyWidget(QWidget *parent = 0); public slots: void showOptions(); QTextEdit *GibZeiger(); private: QTextEdit *edit; QPushButton *button; }; #endif proference.cpp #include #include #include "preferences.h" #include "sourceedit.h" MyPreferences::MyPreferences(QWidget *parent) : QWidget(parent) { okButton = new QPushButton("Apply", this); okButton->move(10,10); connect(okButton, SIGNAL(clicked()), this, SLOT(applyChanges())); label = new QLabel(this); label->setGeometry(10,70,150,30); edit = 0; } void MyPreferences::applyChanges() { /* MyWidget mainclass; QTextEdit* Zeiger = mainclass.GibZeiger(); SetzeZeiger( Zeiger );*/ // -> hier neu TueWasMitFremdzeiger(); } void MyPreferences::SetzeZeiger( QTextEdit* Zeiger ) { edit = Zeiger; } void MyPreferences::TueWasMitFremdzeiger() { if( edit != 0 ) { edit->setText("evtl funktioniert es"); edit->selectAll(); edit->setFontPointSize(6); } } preference.h #ifndef PREFERENCES_H #define PREFERENCES_H #include #include #include #include "sourceedit.h" class MyPreferences : public QWidget { Q_OBJECT public: MyPreferences(QWidget *parent = 0); public slots: void applyChanges(); void SetzeZeiger( QTextEdit* Zeiger ); void TueWasMitFremdzeiger(); private: QPushButton *okButton; QLabel *label; QTextEdit *edit; }; #endif