스레드로부터 이벤트를 메인 윈도우의 QtreeView에 게시해야합니다. 이제 이벤트를 게시하기 위해 Qobject에 대한 포인터 (예 : 메인 윈도우 내부의 qtreeview)가 필요합니다.메인 윈도우에 포인터 저장하기 - Qevent
이렇게하려면 생성자 MainWindow :: MainWindow()에서 내 주 창에 포인터를 가져 가야합니다. ---
cntrlObj cntrlObj_obj;
MainWindow를 생성자 : ----
#include "ui_mainwindow.h"
/*!
Shared object among threads.
*/
class cntrlObj
{
public:
cntrlObj();
~ctrlObj();
/// Thread run control
bool m_bQuit;
/*!
Pointer to mainwindow window
*/
Ui::MainWindow *ui;
}
MainWindow를 클래스는 다음과 같은 개체를 포함 :
sharedobj.h 파일 MainWindow를 위해 포인터를 포함 -----
/*!
Take Pointer to Mainwindow session window
*/
cntrlObj_obj->ui_ptr->setupUi(this);
Mainwindow에 대한 포인터를 가져 오는 것이 올바른 방법일까요?
또한 "sharedobj.h"파일에서 수행 한 것처럼 mainwindow의 네임 스페이스 UI에 액세스하여 포인터를 선언 할 수있는 다른 sharedobj.h 파일 안에 "ui_mainwindow.h"파일을 포함 할 수 있습니까?
왜 스레드에서 직접 이벤트를 게시해야합니까? 스레드 간 신호/슬롯을 고려한 후 주 스레드에서 이벤트를 게시합니다. 주 스레드에서 UI 문제에 대한 지식을 유지합니다. –