Re: [問題] QT 語法的問題
※ 引述《stanely321 (沒有心情的心情)》之銘言:
: 當我接收到來自internet的訊息時會有一個function被執行,這個function我稱它
: calldraw()
: 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
因為 GUI 的操作只能在 main-loop (也就是它說的 GUI thread) 派發
但是你可以利用 signal/slot 來通知 GUI thread
比較簡單的方法可能是
void calldraw() {
QTimer::singleShot( 0, p, SLOT( somethingYouWant() ) );
}
建立一個立即觸發的 timer 去觸發 slots
然後所有 GUI 的操作都由 mainwindow 的 slots 完成
可以試試看還會不會有錯誤
--
自High筆記(半荒廢)
http://legnaleurc.blogspot.com/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 112.104.49.238
推
11/23 19:04, , 1F
11/23 19:04, 1F
→
11/23 19:04, , 2F
11/23 19:04, 2F
→
11/23 19:04, , 3F
11/23 19:04, 3F
→
11/23 19:05, , 4F
11/23 19:05, 4F
→
11/23 19:06, , 5F
11/23 19:06, 5F
推
11/23 19:20, , 6F
11/23 19:20, 6F
→
11/23 19:20, , 7F
11/23 19:20, 7F
→
11/23 19:21, , 8F
11/23 19:21, 8F
→
11/23 19:21, , 9F
11/23 19:21, 9F
→
11/23 19:30, , 10F
11/23 19:30, 10F
→
11/23 19:31, , 11F
11/23 19:31, 11F
→
11/23 19:32, , 12F
11/23 19:32, 12F
推
11/24 00:07, , 13F
11/24 00:07, 13F
→
11/24 00:08, , 14F
11/24 00:08, 14F
→
11/24 00:09, , 15F
11/24 00:09, 15F
→
11/24 01:57, , 16F
11/24 01:57, 16F
推
11/24 09:14, , 17F
11/24 09:14, 17F
→
11/24 09:14, , 18F
11/24 09:14, 18F
→
11/24 15:50, , 19F
11/24 15:50, 19F
推
11/24 15:56, , 20F
11/24 15:56, 20F
討論串 (同標題文章)