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

建网站大公司长沙网站制作哪家专业

建网站大公司,长沙网站制作哪家专业,c 做网站,给被k的网站做友链一、介绍 首先#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.w-s-a.com/news/344618/

相关文章:

  • 程序员会搭建非法网站吗怎么把wordpress字去掉
  • 牡丹江营商环境建设监督局网站中国档案网站建设的特点
  • 网站欣赏网站欣赏知名企业网站搭建
  • 书店网站建设可行性分析为大型企业设计网络营销方案
  • 北京教育云平台网站建设中国服装设计网站
  • 网络公司专业做网站豌豆荚app下载
  • 网站建设属于什么岗位济宁网站建设_云科网络
  • wordpress网站监测fwa 网站 欣赏
  • 用jsp做的可运行的网站推广网络
  • 电商网站设计论文wordpress子文件夹建站
  • 临沂网站优化如何如何做公司的网站建设
  • 建设部网站 光纤到户沈阳网页设计兼职
  • 企业网站建设作用宁波企业网站推广效果好
  • wordpress课件站模板做网站的公司 贵阳
  • 低价格网站建设网站建设中的板块名称
  • 青岛网站建设华夏h5链接是什么意思
  • 贸易公司如何做网站百度做的网站一般在什么后台
  • 东莞网站设计方案广州做服装电商拿货的网站
  • 部队网站建设设计dede个人网站模板
  • 个人网站怎么自己备案重庆怎样网站推广
  • 做电影网站挣钱吗重庆网站建设技术托管
  • 网站建设用户登录网站商业授权含义
  • 接做室内效果图的网站wordpress制作上传图片
  • 维护一个网站一年多少钱网站微信登录怎么做的
  • 中国建设银行网站E路护航官网如何在招聘网站上选个好公司做销售
  • 网站开发质量管理招聘网站建设方案
  • 有没有那个的网站seo编辑的工作内容
  • 平度那里有做网站的昆明建设招聘信息网站
  • 邯郸城乡建设部网站首页唐山市住房城乡建设部网站主页
  • 慕课联盟网站开发实战六安品牌网站建设电话