当前位置: 首页 > news >正文

建网站大公司盐城做网站的公司地址

建网站大公司,盐城做网站的公司地址,教育局网站建设方案,网站美工和平面设计一、介绍 首先#xff0c;QT界面开发中主要大体分为2种多窗口的形式#xff1a; 嵌入式#xff1a; 新生成的窗口嵌入在主窗口内部独立窗口#xff1a; 以弹窗形式的新窗口生成和展示 这里就讲解最简单的#xff1a;点击案件后#xff0c;跳出一个新窗口 二、代码实…一、介绍 首先QT界面开发中主要大体分为2种多窗口的形式 嵌入式 新生成的窗口嵌入在主窗口内部独立窗口 以弹窗形式的新窗口生成和展示 这里就讲解最简单的点击案件后跳出一个新窗口 二、代码实现 要在Qt C中实现点击按钮后显示新窗口并在新窗口中显示由主程序生成的图片你需要创建两个窗口类主窗口类和图片显示窗口类。下面是一个简单的示例展示了如何实现这一功能 创建一个新的Qt Widgets Application。 添加两个窗口类一个是主窗口类 MainWindow另一个是显示图片的窗口类 ImageWindow。 一般用vs2019开发创建Qt Widgets Application之后会自带一个和项目名同名的主窗口类。这个时候需要手动创建另外一个即新窗口类。创建方法可以参考这篇博客Qt5.12.6 VS2019 点击按钮弹出新窗口 首先是 ImageWindow 类的实现假设图片使用 QLabel 来显示 imagewindow.h: #ifndef IMAGEWINDOW_H #define IMAGEWINDOW_H#include QWidget #include QLabelclass ImageWindow : public QWidget {Q_OBJECTpublic:explicit ImageWindow(QWidget *parent nullptr);void displayImage(const QPixmap pixmap);private:QLabel *imageLabel;};#endif // IMAGEWINDOW_Himagewindow.cpp: #include imagewindow.h #include QVBoxLayoutImageWindow::ImageWindow(QWidget *parent) : QWidget(parent) {imageLabel new QLabel;QVBoxLayout *layout new QVBoxLayout(this);layout-addWidget(imageLabel);setLayout(layout); }void ImageWindow::displayImage(const QPixmap pixmap) {imageLabel-setPixmap(pixmap); }然后是主窗口类 MainWindow当点击按钮时将创建图片显示窗口的实例并显示图片 mainwindow.h: #ifndef MAINWINDOW_H #define MAINWINDOW_H#include QMainWindow #include QPushButton #include imagewindow.hclass MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);private slots:void on_showImageButton_clicked();private:QPushButton *showImageButton;ImageWindow *imageWindow; };#endif // MAINWINDOW_Hmainwindow.cpp: #include imagewindow.hImageWindow::ImageWindow(QWidget *parent) : QWidget(parent) {imageLabel new QLabel(this); // 使用 this 作为父对象初始化 QLabelQVBoxLayout *layout new QVBoxLayout(this);layout-addWidget(imageLabel);setLayout(layout); }void ImageWindow::displayImage(const QPixmap pixmap) {imageLabel-setPixmap(pixmap); }三、实战经验分享 这里我的项目的情况是 主窗口的cpp文件new_QT_python.cpp中主要运行项目主体代码其中开设子线程视频检测线程会把事实的检测结果以图片的形式传回主线程需求当按下开始检测的按钮后立即弹出新窗口将主线程主窗口中接受到检测线程传过来的结果图片在新窗口中进行显示。 Tips:为了突出多窗口的实现省略了与此无关的代码 new_QT_python.h: #include QtWidgets/QMainWindow #include ui_new_QT_python.h #include opencv2/opencv.hpp #include DetectionWindow.h //#include inference.h#pragma execution_character_set(utf-8) #ifdef Q_OS_WIN #pragma execution_character_set(utf-8) //解决 VS编译器下中文乱码 #endifclass new_QT_python : public QMainWindow {Q_OBJECTpublic:new_QT_python(QWidget *parent nullptr);~new_QT_python(); private:Ui::new_QT_pythonClass ui;VideoDetectionWorker m_detectionWorker1;QThread m_detectionThread1;DetectionWindow *imageWindow;private slots:void onDetectionResult1(const QImage img);}; new_QT_python.cpp: #include new_QT_python.h #include QTimer.h #include QFileDialog #include iostream #include iomanip #include filesystem #include fstream #include random #include iostream #include vector #include opencv2/opencv.hpp #include DetectionWindow.h#pragma execution_character_set(utf-8) #ifdef Q_OS_WIN #pragma execution_character_set(utf-8) //解决 VS编译器下中文乱码 #endif#define ORT_API_MANUAL_INITnew_QT_python::new_QT_python(QWidget *parent): QMainWindow(parent) {ui.setupUi(this);// 连接子线程的检测结果信号connect(m_detectionWorker1, VideoDetectionWorker::detectionResult, this, new_QT_python::onDetectionResult1);imageWindow new DetectionWindow; // Create the image window but dont show it yet// 将自定义线程对象移动到子线程中m_detectionWorker1.moveToThread(m_detectionThread1); }new_QT_python::~new_QT_python() {m_detectionThread1.quit();m_detectionThread1.wait(); }void new_QT_python::onStartDetectionClicked() {//显示检测过程的窗口imageWindow-show();// 启动子线程m_detectionThread1.start();// 检查子线程是否成功启动if (m_detectionThread1.isRunning()){// 子线程已成功启动// 在这里添加你的逻辑ui.status-setText( m_detectionThread1 OK);}// 保存视频路径到子线程对象的成员变量m_detectionWorker1.m_videoPath videoPath1;// 向子线程发送开始检测的信号QMetaObject::invokeMethod(m_detectionWorker1, startDetection, Qt::QueuedConnection);// 禁用按钮ui.startToDetect-setEnabled(false); }void new_QT_python::onDetectionResult1(const QImage img) {imageWindow-displayImage(img); } DetectionWindow.h #pragma once#include QMainWindow #include ui_DetectionWindow.hclass DetectionWindow : public QMainWindow {Q_OBJECTpublic:DetectionWindow(QWidget *parent nullptr);void displayImage(const QImage img);~DetectionWindow();private:Ui::DetectionWindowClass ui; }; DetectionWindow.cpp #include DetectionWindow.h #include QVBoxLayoutDetectionWindow::DetectionWindow(QWidget *parent): QMainWindow(parent) { ui.setupUi(this); } void DetectionWindow::displayImage(const QImage img) {//使图片能和label尺寸相适应ui.imageLabel-setPixmap(QPixmap::fromImage(img).scaled(ui.imageLabel-size(), Qt::KeepAspectRatio, Qt::SmoothTransformation));ui.imageLabel-setAlignment(Qt::AlignCenter); } DetectionWindow::~DetectionWindow() {}四、结果展示 点击“开始检测”按钮触发void new_QT_python::onStartDetectionClicked()函数检测子线程启动像主线程发送图片结果信号onDetectionResult1函数负责让子窗口对象将图片在其窗口内展示。
http://www.hkea.cn/news/14377178/

相关文章:

  • 网站建设中企动力强knowall wordpress
  • python可以做网站吗网站建设音乐插件怎么弄
  • 南通网站建设兼职用asp做网站遇到的问题
  • 多新闻怎么做扁平网站江门住房和城乡建设部网站
  • 惠州网站建设多少钱苏州住建
  • 遵义做企业网站咨询公司组织架构
  • 济阳做网站开公司怎么做网站
  • 一个完美的网站怎么做电子商务平台的发展趋势
  • 小型网站建设价格低wordpress 检索文件夹
  • 网站开发语言在线检测站长工具seo综合查询adc
  • 如何做网站的百科湛江cms模板建站
  • 网站备案 广东一个网络空间如何做两个网站
  • 网站制作建设飞沐网站建设报价单模板
  • 上饶网站建设多少钱深圳最大的招聘网站是什么
  • 阿坝州网站制作花店如何做推广
  • 苏州市工业园区规划建设局网站丹阳火车站对面规划
  • 萧山建设有限公司网站网站功能报价明细表
  • 设计相关网站汉南做网站
  • 论网站建设情况小程序平台哪个好
  • 现代教育网站开发项目的研究富德生命人寿保险公司官方网站保单查询
  • 电子商务网站建设服务外包梵克雅宝手链
  • 甘肃网站建设推广服务asp手机网站开发教程
  • 深圳设计网站费用大连网站建设方案维护
  • 建设银行的积分网站网站建设比较好
  • 用excel做网站近期热点话题
  • 备案网站域名查询搜索推广平台有哪些
  • 免费好用的网站制作外包网站开发公司
  • 网站建设方案平台架构红酒企业网站模板免费下载
  • 替别人做设计的网站网站如何被搜索到
  • 世界十大网站排名WordPress代码上传头像