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

发布于:2025-03-26 ⋅ 阅读:(129) ⋅ 点赞:(0)

目录

一、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博客