大家好
我在用QT5寫一個聊天程序
用的是c/c++的封裝的socket函數(QT封裝的UDP不知道為什麼不能正常發包)
問題是這樣的:
有兩個窗口
1. MainWindow 類的 login,程序啟動首先顯示它
2. Dialog 類的 chat, 要求登陸成功後才顯示它
這兩個窗口在main中QApplication a 和 a.exec()之間創建。
login窗口其中一個button點擊後可以向服務器發送一個登陸請求,那麼,如何
接收這個請求呢?我目前的做法是同樣將這個button connect了一個receive函數,
不過只接受一個包,這樣實現真的很丑,而且無法做到持續監聽(這是chat窗口中的
關鍵)
我嘗試用了c++11的thread來寫多線程,傳入一個窗口的指針,但好像不允許在子線程裡調用窗口類實例的show()之類的函數,報錯了(這點也是我很想知道的,類中定義的public成員函數可以在子線程中調用,但是不能調用諸如show(), close()之類的函數)
我剛學QT沒多久,參考的很多QT聊天程序都是用QT封裝的socket,但是這邊用不了,如果一定要用c/c++封裝的
有什麼好的解決辦法來實現嗎?
http://download.csdn.net/download/ftp57920702/2454813