一、Qt入门



00:12



1. 需要用到的控件



00:18



  • 核心控件:实现图片查看软件需要三个主要控件:

    • QLabel:用于显示图片名称和图片内容

    • QLineEdit:用于显示图片路径

    • QPushButton:用于触发打开目录操作

  • 功能实现:

    • 打开目录选择图片

    • 显示图片名称

    • 显示图片内容

2. QLabel基本用法



00:30



  • 文本设置:

    • setText(const QString &):设置标签文本

    • text() const:获取标签文本

  • 图片显示:

    • setPixmap(const QPixmap &):设置标签显示的图片

  • 样式控制:

    • setStyleSheet:通过qss设置样式表

    • 大小设置使用父类QWidget的方法

3. 按钮点击



02:00



  • 信号槽机制:

    • QPushButton的主要信号是clicked(bool checked = false)

    • 槽函数常用写法:void on_控件名字_clicked()

  • 文件对话框:

    • 使用QFileDialog类的getOpenFileName静态方法

    • 参数说明:

      • parent:父窗口指针,通常填this

      • caption:对话框标题

      • dir:初始目录

      • filter:文件过滤器,如"图片(*.png *.jpg)"

4. 创建项目



02:27



1)界面搭建



03:11



  • 项目创建:

    • 选择Qt Widgets Application模板

    • 使用qmake作为构建系统

    • 基类选择QWidget

  • 界面布局:

    • 上方水平布局:标签、行编辑框、按钮

    • 整体垂直布局:上方控件与下方图片显示区域

    • 比例设置:通过layoutStretch属性设置为1:10

2)运行效果



06:26



  • 初始化处理:

    • 使用label_image->clear()清空初始显示

  • 控件命名:

    • 行编辑框:lineEdit_path

    • 按钮:btnOpen

    • 图片标签:label_image

3)添加参数



06:54



  • 槽函数定义:

    • 在头文件中声明:private slots: void on_btnOpen_clicked();

    • 实现点击调试:使用qDebug() << "clicked 1111";验证信号连接

  • 文件选择:

    • 使用QFileDialog::getOpenFileName获取文件路径

    • 参数设置示例:this,"请选择图片","D:/","图片 "

4)打开目录选择文件



08:27



  • 图片显示:

    • 使用label_image->setPixmap(QPixmap(fileName))显示图片

    • 需要检查文件名是否为空:if(fileName.isEmpty()) return;

  • 路径显示:

    • 使用lineEdit_path->setText(fileName)显示文件路径

  • 当前问题:

    • 图片显示尺寸未自适应

    • 打开路径未记忆

二、知识小结

知识点

核心内容

易混淆点/注意事项

难度系数

QT控件基础应用

使用QLabel显示图片和文本、QLineEdit显示路径、QPushButton触发操作

QLabel设置图片用setPixmap()而非setText()

★★☆☆☆

布局管理

水平布局(控件排列)与垂直布局(区域划分)的组合使用

布局比例通过layoutStretch属性调整(如1:10)

★★★☆☆

文件对话框

QFileDialog::getOpenFileName()实现图片选择功能

需判断返回值是否为空字符串

★★☆☆☆

信号槽机制

通过private slots:声明按钮点击事件处理函数

函数命名规范on_控件名_信号名()

★★★☆☆

图片显示优化

使用QPixmap加载图片文件路径

图片自适应需额外设置scaledContents属性

★★★★☆

样式控制

通过setStyleSheet()修改控件外观

样式表语法与CSS的区别

★★★★☆

项目创建流程

Widget Application模板选择/QMake编译系统配置

基类选择影响窗口特性(QWidget/QMainWindow)

★☆☆☆☆