看板 C_and_CPP 關於我們 聯絡資訊
我用另一個方式來解釋這個問題,希望板眾可以幫忙解答一下到底要如何做才好。 在main function中有程式碼如下 int main(int argc,char *argv[]) { QApplication a(argc,argv); mainwindows w; w.show(); return a.exec(); } mainwindows的宣告是 class mainwindows:public QMainWindow { ... public: void _draw(); private: subwindows *psubwindows; } 其中有一個subwindows的物件,它代表的是一個視窗、並且上面寫了hello world。 當我接收到來自internet的訊息時會有一個function被執行,這個function我稱它 calldraw(),且它沒有繼承任何QT類別。 calldraw做的事很容易,就是使用一個mainwindows *p,去呼叫 _draw(),所以就是 p->_draw(); 其中p是一個global 的point,它在mainwindows的建構子中用p=this; 儲存了物件位址。 _draw()內容如下 { psubwindows = new subwindows; psubwindows->show(); } 這樣的寫法compile可以過,所以此程式可執行,但執行的結果是 QPixmap: It is not to use pixmaps outside the GUI thread test: Fatal IO error: client killed 然後程式自動結束、我也沒看到我想看的subwindows跑出來,只有 mainwindows出現而已。 詳細情況就是如此,請大家幫忙看看,感謝。 ※ 引述《stanely321 (沒有心情的心情)》之銘言: : ( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) : ( 未必需要依照此格式,文章條理清楚即可 ) : 遇到的問題: (題意請描述清楚) : 我有一個consol mode的程式,我想用QT做一個圖形介面去操作這個程式, : 那這個consol mode程式能夠接收網路上的封包後自動呼叫一個function, : 我可以在function裡定義我收到封包後要做的事,那我現在想做的事就是 : 希望這個function能夠告訴QT幫我畫一個視窗,視窗上會有二個push botton : 一個是接收、一個是不理會,可是問題來了,不論是connect或是event的方法 : 都是需要QT原本就定義好的物件才可以使用,我那consol mode程式並不屬 : 於QT,只是我寫了一個interface讓QT圖形介面可以叫consol mode程式做事情 : ,然後反過來要讓consol mode程式叫QT做事情就不知道怎麼辦了。 : 希望知道的人可以指導一下方向,謝謝大家。 : 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) : Ubuntu 10.04 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.30.10.70 ※ 編輯: stanely321 來自: 61.30.10.70 (11/24 10:20)