
求助~
qt LineEdit text獲取文本,直接這樣創建一個按鈕來獲取沒問題
但是我創建了另一個執行緒后就會程式崩潰,沒有任何提示。。
經測驗問題就在cap->start()上,不用這條代碼就沒事,跪求大佬解答~
uj5u.com熱心網友回復:
我是新手,前兩天好像在一個視頻里看到說子執行緒里操作ui物件會出錯。uj5u.com熱心網友回復:
我整出來了,在執行緒run函式里面發射一個信號把print做槽就可以。。。
我發現在非ui執行緒里是不能呼叫ui的東西的
可是為什么會把我的button歸位cap的執行緒。。我不是在ui下創建的么。。。搞不懂。。
uj5u.com熱心網友回復:
我在視頻里看到說這個跟connect的第五個引數(連接方式)有關系
如果是直接連接,那么你在哪個執行緒發射信號,槽就運行在哪個執行緒
如果是佇列連接,那么信號和槽就可以分屬不同的執行緒,不過這種要依賴于事件回圈。
下面是我看的那個視頻教程,如果你只想看關于信號和槽的連接方式相關的內容,可以從 51:25 開始看
https://www.bilibili.com/video/av4056436?from=search&seid=16059050830503275436
uj5u.com熱心網友回復:
我是新手,前兩天好像在一個視頻里看到說子執行緒里操作ui物件會出錯。
我整出來了,在執行緒run函式里面發射一個信號把print做槽就可以。。。
我發現在非ui執行緒里是不能呼叫ui的東西的
可是為什么會把我的button歸位cap的執行緒。。我不是在ui下創建的么。。。搞不懂。。
button不屬于cap的執行緒,cap只是執行緒的管理者。
button、cap都依附于ui執行緒(哪里new的就依附于哪個執行緒)
cap的run函式中執行的代碼才是另一個執行緒執行的內容
參考:https://blog.csdn.net/lc250123/article/details/84101219
uj5u.com熱心網友回復:
樓上說cap依附于ui執行緒,那么你在new 執行緒時加一個this試試轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/43961.html
標籤:Qt
上一篇:QT在Chat類中做一個聊天模塊
下一篇:定位軟件
