#include "mainFrm.h" #include #include #include mainFrm::mainFrm(QWidget *parent) : QMainWindow(parent) { ui.setupUi(this); QFuture Future = QtConcurrent::run(this, &mainFrm::RunServer); cv::namedWindow("img", cv::WINDOW_AUTOSIZE); //再Qt控件上显示cv::nameWindow窗口 HWND hwnd = (HWND)cvGetWindowHandle("img"); HWND paraent = GetParent(hwnd);//得到nameWindow窗口的父句柄 SetParent(hwnd, (HWND)ui.widget->winId());//设置ui控件的句柄是父句柄 ShowWindow(paraent, SW_HIDE);//隐藏掉nameWindow窗口 cv::resizeWindow("img", ui.widget->width(), ui.widget->height()); } mainFrm::~mainFrm() { } void mainFrm::RunServer() { //创建一个用于响应的类 rpcServer service; //监听的端口,前面的IP地址,似乎只有0,0,0,0和127.0.0.1可用 std::string add_ip("0.0.0.0:50051"); //创建一个服务类 ServerBuilder builder; //监听,后面那个参数代表不使用ssl加密 builder.SetMaxReceiveMessageSize(INT_MAX); builder.SetMaxSendMessageSize(10000); //builder.SetMaxSendMessageSize(INT_MAX); builder.AddListeningPort(add_ip, grpc::InsecureServerCredentials()); //把我们自己写的响应的类挂上去 builder.RegisterService(&service); //开始 std::unique_ptrserver(builder.BuildAndStart()); qDebug() << "Server listening on " << add_ip.c_str() ; //ui.textEdit->setText(" Run Server ok "); server->Wait(); }