0
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?");
}
qDebug가 정상적으로 작동하지만 왜 ui -> ...가 좋지 않은 이유는 무엇입니까? 그것을 고치는 방법?Qt - 다른 클래스의 mainwindow 클래스 객체가 제대로 작동하지 않습니다.
편집 : 솔루션 : `QPlainTextEdit * pointer; MainWindow를 생성자 { 포인터 = UI-> qPlainTextEdit;}
또 다른의 클래스 메소드 { 포인터 타입> appendPlainText ("그것은 작동") 일부; }
이 포인터를 초기화하는 방법은 무엇입니까? 이 일을하는 좋은 방법을 알고 있습니까? 'class MyAnotherClass : public QPlainTextEdit { private : MainWindow * _mainWindow; }' –
코드 디자인에 따라 여러 가지 방법이있을 수 있습니다. 생성자 또는 일부 메서드에 전달할 수 있습니다. 아니면'MainWindow'를 싱글 톤으로 만들 수 있습니다. – Evgeny
[mainwindow.cpp] (https://codepaste.net/ebe9mm) [mainwindow.h] (https://codepaste.net/g3nf65) [myqplaintextedit.h] (https://codepaste.net/ba8kjc) 내 다른 클래스는 ** MyQPlaintTextEdit **이며 ** exit_slot() ** 및 ** on_pushButton_clicked() **에서 ** mainwindow.cpp **에서 찾을 수있는 코드입니다. 제 경우에 포인터를 어떻게 사용할 수 있습니까? –