void MyAnotherClass::mySlot(){
MainWindow window;
window.myFunction();}
void MainWindow::myFunction(){
qDebug() << "THIS qDebug works well but ui do NOT";
ui->textEdit->setText("Why i do not working?");
}
Warum qDebug in dieser Situation funktioniert gut, aber ui -> ... nicht? Wie man es repariert?Qt - Hauptfenster Klassenobjekt in einer anderen Klasse funktioniert nicht gut
EDIT: Lösung: `QPlainTextEdit * Zeiger; Mainwindow-Konstruktor { Zeiger = UI-> qPlainTextEdit;}
gibt einige andere Klasse Methode { Zeiger-> appendPlainText ("Es funktioniert"); } `
Wie initiiere ich diesen Zeiger? Kennst du einen guten Weg, dies zu tun? 'Klasse MyAnotherClass: public QPlainTextEdit { privat: MainWindow * _mainWindow; } ' –
Es könnte verschiedene Wege geben, hängt von Ihrem Code-Design ab. Sie können es in den Konstruktor oder eine Methode übergeben. Oder Sie können 'MainWindow' zu einem Singleton machen. – Evgeny
[Hauptfenster.cpp] (https://codepaste.net/ebe9mm) [Hauptfenster.h] (https://codepaste.net/g3nf65) [myqplatintextedit.h] (https://codepaste.net/ba8kjc) Meine andere Klasse ist ** MyQPlaintTextEdit ** und Code finden Sie in ** mainwindow.cpp ** in ** exit_slot() ** und ** on_pushButton_clicked() **; Können Sie mir sagen, wie ich diesen Zeiger in meinem Fall verwenden kann? –