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

VS2022的第一个Qt程序——实战《加载并显示图像》

目录

一、UI设计

S1:双击Form Files下.ui文件,进入ui设计界面Qt Designer

S2:然后拖动一个Push Button和Label控件到界面

S3:点击信号与槽,然后点击PushButton往外拉一下

S4:松开鼠标进入配置连接界面,然后选择编辑

S5:点击+符号创建自定义槽函数PushButtonClicked()

S6:回到配置连接界面,选择刚刚创建的槽函数

S7:PushButton的槽函数配置连接成功,然后保存退出Qt Designer

二、代码编辑

S1:退出后右击项目,点击Qt,点击Refresh IntelliSense进行刷新

S2:进入ui_QtWidgetsApplication_ShowlMG.h文件,看到connect说明连接成功,PushButtonClicked()是配置的槽函数。

S3:打开Header Files文件下的.h文件,添加需要的槽函数和变量的声明

S4:打开Source Files文件下的.cpp文件定义PushButtonClicked函数内容

三、运行测试

四、资料参考

VS2022上配置Qt环境请参考我的另外一篇博客:VS22配置Qt环境(windows)_vs配置qt环境后,怎么给电脑系统配置环境-CSDN博客

开发参考:QT+VS开发界面入门(qt界面在VS2022实现自动生成槽函数)_qt vs2022 开发-CSDN博客


一、UI设计

S1:双击Form Files下.ui文件,进入ui设计界面Qt Designer

S2:然后拖动一个Push Button和Label控件到界面

S3:点击信号与槽,然后点击PushButton往外拉一下

(切记鼠标选中插件(按钮)是,需要向按钮外拉一下,这样才会让按钮的信号输出出来。否则会变成外部输入对按钮的影响的槽函数。
向外来,会有如图所示效果。)

S4:松开鼠标进入配置连接界面,然后选择编辑

S5:点击+符号创建自定义槽函数PushButtonClicked()

S6:回到配置连接界面,选择刚刚创建的槽函数

S7:PushButton的槽函数配置连接成功,然后保存退出Qt Designer

二、代码编辑

S1:退出后右击项目,点击Qt,点击Refresh IntelliSense进行刷新

S2:进入ui_QtWidgetsApplication_ShowlMG.h文件,看到connect说明连接成功,PushButtonClicked()是配置的槽函数。

S3:打开Header Files文件下的.h文件,添加需要的槽函数和变量的声明

S4:打开Source Files文件下的.cpp文件定义PushButtonClicked函数内容

#include "QtWidgetsApplication_ShowIMG.h"
#include <qfiledialog.h> //文件处理头文件
#include <qmessagebox.h> //提示信息头文件

#include <opencv2/opencv.hpp>

QtWidgetsApplication_ShowIMG::QtWidgetsApplication_ShowIMG(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);
}

QtWidgetsApplication_ShowIMG::~QtWidgetsApplication_ShowIMG()
{}


void QtWidgetsApplication_ShowIMG::PushButtonClicked()
{
    QString fileName = QFileDialog::getOpenFileName(
        this,
        "打开图像",
        QDir::homePath(), // 默认从用户目录开始
        "图像文件 (*.png *.jpg *.jpeg *.bmp *.gif)" // 支持更多格式
    );

    if (!fileName.isEmpty())
    {
        QPixmap tempImage;
        if (tempImage.load(fileName))
        {
            currentImage = tempImage;
            // 正确访问UI控件并设置图像
            ui.label->setPixmap(
                currentImage.scaled(ui.label->size(),
                    Qt::KeepAspectRatio,
                    Qt::SmoothTransformation)
            );
        }
        else
        {
            QMessageBox::warning(this, "错误", "无法加载图像文件");
        }
    }

}

三、运行测试

四、资料参考

VS2022上配置Qt环境请参考我的另外一篇博客:VS22配置Qt环境(windows)_vs配置qt环境后,怎么给电脑系统配置环境-CSDN博客
开发参考:QT+VS开发界面入门(qt界面在VS2022实现自动生成槽函数)_qt vs2022 开发-CSDN博客

相关文章:

  • 零门槛部署DeepSeek本地整合包一键即用
  • SpringBoot集成MybatisPlus
  • 编程实现自我指涉(self-reference)
  • 计算机网络--传输层(2)
  • <template>标签的作用,在构建可复用 UI 片段时如何应用?
  • Next.js 严重漏洞:攻击者可绕过中间件授权检查
  • Day28-代码随想录-平衡二叉树110+二叉树的所有路径257
  • 责任链模式-java
  • tkinter日历程序的设计
  • 【vue】warning:Avoid mutating a prop directly
  • 53.第二阶段x86游戏实战2-c++实现自动打怪2
  • 【动态规划】路径问题
  • 单片机和微控制器知识汇总——《器件手册--单片机、数字信号处理器和可编程逻辑器件》
  • STM32F103_LL库+寄存器学习笔记02 - 开启SysTick(滴答定时器)中断
  • QinQ项展 VLAN 空间
  • 数据结构与算法:Dijkstra算法和分层图最短路
  • 技术赋能与创新实践:基于低代码平台的高性能应用开发
  • YoloV8训练和平精英人物检测模型
  • Vue动态绑定:文本框、单选按钮、下拉列表、多选按钮
  • Java运行时的堆、栈和方法区
  • 商丘行业网站建设开发公司/微信营销推广
  • 可以做兼职的网站/长沙seo排名优化公司
  • 网站建站那个好/什么是网络营销平台
  • 做自己的网站能赚钱吗/免费换友情链接
  • 生物医药网站建设/株洲seo优化哪家好
  • 厦门网页制作厦门小程序app/seo管理工具