怎么將服務器接受的內容顯示在QT的界面上???


我編了一個客戶端和服務器端,實現數據的傳輸。請問怎么將服務器的顯示的內容下QT的界面上顯示???現在客戶端和服務器分別在開發板和linux系統上都能正常的運行通信了。服務器是用C++寫的,現在我就是想給服務器包裝一個QT圖形界面。請問怎么講QT的圖形界面和服務器結合起來,使服務器的內容在QT上顯示。希望在QT上直接就能啟動服務器開始監聽接收數據。並最終能是服務器在windows上正常運行,請大俠們多多指教!!!

5 个解决方案

#1


Qprocess執行外部程序,用readAllStandardOutput()獲得標准輸出
顯示文本有很多控件的,隨便找一個就行

你的服務器程序是在linux上運行的,為啥又要在windows上運行?跨平台的?

#2


qt不是可以跨平台嗎??感覺在windows上能方便用戶使用。謝謝您的指點,我嘗試做一下!!嘿嘿

#3


//#include "stdAfx.h"
#include <winsock2.h>
#include <mswsock.h>
#include <iostream>

using namespace std;

#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "mswsock.lib")

DWORD IniSOCKDLL()
{
 WORD wVersionRequested;
 WSADATA wsaData;
 int err=0;

 wVersionRequested = MAKEWORD( 2, 2 );
 err = WSAStartup( wVersionRequested, &wsaData ); 
 return err;
}

int main(int argc, char* argv[])
{
 cout<<"服務器啟動監聽........"<<endl;
 IniSOCKDLL();
 SOCKET ss=WSASocket(AF_INET,
  SOCK_STREAM,
  0,
  NULL,
  0,
  NULL);

 SOCKADDR_IN addr;
 int len;
 addr.sin_family=AF_INET;
 addr.sin_addr.s_addr = htonl(INADDR_ANY);
 addr.sin_port = htons(8000);
 len=sizeof(addr);

 bind(ss , (PSOCKADDR)&addr , len);
 listen(ss,5);
while(1){
 SOCKET sc=accept(ss,(PSOCKADDR)&addr,&len);
 char buff[1024];
 ZeroMemory(buff,1024);
 recv(sc,buff,1024,0);
 cout<<buff<<endl;//顯示客戶端發送的數據;
closesocket(sc);
 }
 return 0;
}

#4


qt不是太了解!但是現在還急着用這個!!請大哥幫幫忙吧!!小弟不勝感激!!!!上面是簡單的一個服務器程序,能不能幫我做一個簡單qt圖形界面。讓客服端發送過來的數據顯示在界面上。最好是把它坐成一個可執行程序安裝在windows上。安裝完啟動服務器監聽,就可以接收數據的那種!!

#5


樓主,你的問題解決沒呢?我現在遇到相同的問題,求解啊?拜謝~~~

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com