程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> c++-QT5中 socket 與 多線程的問題(聊天程序)

c++-QT5中 socket 與 多線程的問題(聊天程序)

編輯:編程解疑
QT5中 socket 與 多線程的問題(聊天程序)

大家好
我在用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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved