Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >嵌入式Qt-控制硬件:滑动条控制RGB灯

嵌入式Qt-控制硬件:滑动条控制RGB灯

作者头像
xxpcb
发布于 2022-10-04 06:10:19
发布于 2022-10-04 06:10:19
1.6K00
代码可运行
举报
运行总次数:0
代码可运行

前面的几篇文章,介绍Qt例程,都是和硬件无关的,Windows平台和嵌入式平台都能运行。

本篇,来测试一下Qt界面控制嵌入式平台上的硬件,以野火i.MX6ULL板子上的RGB LED为例,实现Qt界面控制3种颜色LED的不同亮度混合显示。

1 设计Qt滑条控制LED界面

先来看一下最终设计的界面效果:

有一个按键作为LED的总开关,控制LED的点亮与熄灭。下面的3个滑条,控制3种颜色LED以不同的亮度点亮。右边是一个颜色混合显示面板,模拟RGB三种颜色的LED以不同亮度点亮后的混合亮度。

1.1 滑条控件

Qt Creator的UI设置界面中,有水平滑条和竖直滑条控件,可以直接使用:

右侧的属性窗户可以设置滑条的取值范围和初始值。

1.2 控件颜色

使用QPalette可以对界面颜色和控件的颜色进行自定义设置

  • QPalete::Window——通常指窗口部件的背景色
  • QPalette::WindowText——通常指窗口不见的前景色
  • QPalette::Base——底色
  • QPalette::Button——指按钮窗口部件的背景色
  • QPalette::ButtonText——指按钮窗口部件的前景色
  • QPalette::Text——文本输入窗口的前景色
  • QPalette::Background——背景色
  • QPalette::Foreground——前景色(界面中文字的统一颜色)

界面的颜色

整个UI界面的颜色可以这样设置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
QPalette color = palette();//控制窗体颜色
color.setColor(QPalette::Background, QColor(255,255,255));//背景颜色
//color.setColor(QPalette::Foreground, QColor(0,0,255,255));//前景颜色
setPalette(color);

这里就是把整个界面的颜色设置为纯白色

控件的颜色

例如文本标签控件(QLabel)的文字颜色可以这样设置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
QPalette pal;
pal.setColor(QPalette::WindowText,Qt::red);
ui->label_R->setPalette(pal); //设置滑条左侧的R字体为红色
pal.setColor(QPalette::WindowText,Qt::green);
ui->label_G->setPalette(pal);
pal.setColor(QPalette::WindowText,Qt::blue);
ui->label_B->setPalette(pal);

颜色混合面板控件(QTextBrowser)的面板颜色可以这样设置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
QColor color;
int R = ui->Slider_R->value(); //读取滑条的当前值
int G = ui->Slider_G->value();
int B = ui->Slider_B->value();
color.setRgb(R, G, B); //颜色混合
QPalette pal;
pal.setColor(QPalette::Base, color);
ui->textBrowser->setPalette(pal); //显示到面板上

1.3 滑条UI界面代码编写

构造函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
LedWidget::LedWidget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::LedWidget)
{
    ui->setupUi(this);
    ui->Value_R->setText(QString::number(ui->Slider_R->value()));
    ui->Value_G->setText(QString::number(ui->Slider_G->value()));
    ui->Value_B->setText(QString::number(ui->Slider_B->value()));

    QPalette color = palette();//控制窗体颜色
    color.setColor(QPalette::Background, QColor(255,255,255));//背景颜色
    setPalette(color);
}

滑条滑动时的槽函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
void LedWidget::on_Slider_R_valueChanged(int value)
{
    ui->Value_R->setText(QString::number(value));
    UpdateShowColor();
}

void LedWidget::on_Slider_G_valueChanged(int value)
{
    ui->Value_G->setText(QString::number(value));
    UpdateShowColor();
}

void LedWidget::on_Slider_B_valueChanged(int value)
{
    ui->Value_B->setText(QString::number(value));
    UpdateShowColor();
}

更新RGB三种颜色的混合显示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
void LedWidget::UpdateShowColor()
{
    QColor color;
    int R = ui->Slider_R->value();
    int G = ui->Slider_G->value();
    int B = ui->Slider_B->value();
    color.setRgb(R, G, B);
    QPalette pal;
    pal.setColor(QPalette::Base, color);
    ui->textBrowser->setPalette(pal);
}

2 板子上RGB LED的控制

2.1 i.MX6ULL系统烧录

本篇的RGB LED测试,需要先烧录野火i.MX6ULL自带的系统固件,因为该系统已有Qt运行环境,且对应的RGB LED的驱动程序也已配置好了,这样就不需要再自己写RGB LED的驱动程序了,我们只写好Qt的应用程序,实现对板子上LED的控制即可。

烧写方法可参考:https://doc.embedfire.com/linux/imx6/quick_start/zh/latest/quick_start/install_debian/install_debian.html#

可以烧写到SD卡中

烧写到eMMC中

因为在SD卡中运行系统,无法使用WIFI连网,可以通过fire-config工具将SD卡的系统烧写到eMMC中,刷机过程可参考:

https://doc.embedfire.com/linux/imx6/linux_base/zh/latest/linux_basis/fire-config_brief/fire-config_brief.html#id7

设置之后,选择重启,重启后的系统将自动进行从SD卡到EMMC的刷机。刷机过程大约2分钟左右。刷机完成后,控制台会重新进入串口登录页面, 此时观察开发板的LED灯,如果LED在持续闪烁,说明刷机成功。然后调整拨码开关为相应启动方式,重新上电启动系统即可。

也可以直接通过USB-OTG接口和 MFGTool2软件烧写到eMMC。ssh

烧写到eMMC启动,可以使用WIFI连网,WIFI配网步骤参考:https://doc.embedfire.com/linux/imx6/quick_start/zh/latest/quick_start/wifi/wifi.html

Qt系统界面

野火i.MX6ULL自带的系统固件烧录后自启动Qt程序界面如下:

串口方式登录时:

普通用户(带sudo权限)

  • 账户: debian
  • 密码: temppwd

ROOT用户

  • 账户: root
  • 密码: root

这个系统第一次运行时,会进行屏幕触摸校准,若校准的不满意,可删除掉**/etc/pointercal文件**后重启再进行校准。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
rm /etc/pointercal

2.2 无Qt的RGB LED测试

野火i.MX6ULL的RGB LED的原理图如下,由于驱动程序不需要自己写了,实际上我们也不需要关心具体的硬件引脚是哪个,只需要使用驱动程序提供的设备描述符进行LED的控制即可。

参考野火的测试代码:https://doc.embedfire.com/linux/imx6/quick_start/zh/latest/quick_start/led_subsystem/led_subsystem.html#id4

测试代码

编写自己的没有Qt界面的RGB LED测试代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

#include <stdio.h>
#include <stdlib.h>

#define RLED_DEV_PATH "/sys/class/leds/red/brightness"
#define GLED_DEV_PATH "/sys/class/leds/green/brightness"
#define BLED_DEV_PATH "/sys/class/leds/blue/brightness"

int main(int argc,int *argv[])
{
    int r_fd;
    int g_fd;
    int b_fd;

    r_fd = open(RLED_DEV_PATH,O_WRONLY);
    if(r_fd < 0)
    {
        perror(RLED_DEV_PATH);
        exit(1);
    }
    
    g_fd = open(GLED_DEV_PATH,O_WRONLY);
    if(r_fd < 0)
    {
        perror(GLED_DEV_PATH);
        exit(1);
    }
    
    b_fd = open(BLED_DEV_PATH,O_WRONLY);
    if(r_fd < 0)
    {
        perror(BLED_DEV_PATH);
        exit(1);
    }

    while(1)
    {
        write(r_fd,"255",3);
        sleep(1);
        write(r_fd,"0",3);
        sleep(1);
        
        write(g_fd,"255",3);
        sleep(1);
        write(g_fd,"0",3);
        sleep(1);
        
        write(b_fd,"255",3);
        sleep(1);
        write(b_fd,"0",3);
        sleep(1);
    }

    close(r_fd);
    close(g_fd);
    close(b_fd);
}

将该程序在Ubuntu进行交叉编译

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
arm-linux-gnueabihf-gcc led_noqt.c -o led_noqt

测试效果

运行效果如下,3种颜色的灯每隔1s依次点亮熄灭:

对于亮度的控制,可以先参考教程中的命令行点灯测试:https://doc.embedfire.com/linux/imx6/linux_base/zh/latest/linux_basis/led_key_command_line_testing/led_key_command_line_testing.html

实际测试,串口指令无法控制灯的亮度,只能控制亮灭,亮度为1和亮度为255的效果一样,都是同样的亮度,不知道是硬件的问题还是软件驱动的问题。

2.3 Qt中移植RGB LED控制代码

在滑条UI界面代码工程的基础上,添加一个自定义的类,名字可起为regled:

然后在这个类中,将无Qt的RGB LED测试用到的代码移植进来,并结合Qt的滑动条对三种颜色的灯进行控制。

这个是构造函数,先打开3个LED灯的文件描述符:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
rgbled::rgbled(QObject *parent) : QObject(parent)
{
    r_fd = open(RLED_DEV_PATH,O_WRONLY);
    if(r_fd < 0)
    {
        return;
    }

    g_fd = open(GLED_DEV_PATH,O_WRONLY);
    if(r_fd < 0)
    {
        return;
    }

    b_fd = open(BLED_DEV_PATH,O_WRONLY);
    if(r_fd < 0)
    {
        return;
    }
}

编写一个RGB灯的颜色和亮度的控制函数,供外部调用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
void rgbled::SetRGBLedValue(LED_TYPE type, int val)
{
    if (val > 255)
    {
        val = 255;
    }
    else if (val < 0)
    {
        val = 0;
    }

    std::string value = std::to_string(val);

    switch (type)
    {
        case T_R_LED:
            write(r_fd, value.c_str(), 3);
        break;

        case T_G_LED:
            write(g_fd, value.c_str(), 3);
        break;

        case T_B_LED:
            write(b_fd, value.c_str(), 3);
        break;

        default:break;
    }
}

在UI界面类中,可以对RGB LED进行控制:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//LedWidget类中定义一个rgbled成员变量
rgbled *m_pRGBLed;

//LedWidget构造函数中实例化一个rgbled对象
m_pRGBLed = new rgbled(this);

在更新UI界面上的模拟颜色面板的同时,也将板子上的RGB LED的亮度进行同步控制:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
void LedWidget::UpdateShowColor()
{
    QColor color;
    int R = ui->Slider_R->value();
    int G = ui->Slider_G->value();
    int B = ui->Slider_B->value();
    color.setRgb(R, G, B);
    QPalette pal;
    pal.setColor(QPalette::Base, color);
    ui->textBrowser->setPalette(pal);

    //控制板子上的RGB LED的亮度
    m_pRGBLed->SetRGBLedValue(T_R_LED, R);
    m_pRGBLed->SetRGBLedValue(T_G_LED, G);
    m_pRGBLed->SetRGBLedValue(T_B_LED, B);
}

2.4 编译时遇到的问题

程序首先在Windows的Qt Creator上进行编译,遇到了一些问题,记录下解决方法。

找不到unistd.h

在Windows中编译时,Qt Creater提示找不到unistd.h,这个其实是Visual Stidio编译器找不这个头文件。

这个头文件都是Linux系统中常用的,Windows中一般用不到,要消除这个编译错误,可以在VS的安装目录手动添加一个这个文件。

我的目录是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
D:\Tools1\vs2015\VC\include

新建一个unistd.h:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//for qt creater, 2022/8/13
#ifndef _UNISTD_H
#define _UNISTD_H
#include <io.h>
#include <process.h>
#endif 

open、write等函数的警告提示

这些也是Linux中用到的函数,在Window平台编译只是警告信息,没有报错,可以不用管

3 实验演示

3.1 交叉编译

和之前一样,将Windows的Qt Creator中的源码复制到Ubuntu中进行交叉编译,具体操作过程可参考之前的文章:

嵌入式Qt-动手编写并运行自己的第1个ARM-Qt程序

这里仅记录下编译指令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/home/xxpcb/myTest/imx6ull/otherlib/qt/qt-everywhere-src-5.12.9/arm-qt/bin/qmake

3.2 文件复制到板子中

由于这次测试使用的是野火的系统固件,不能和之前用网络位置挂载根文件系统的方式,在Ubuntu中直接将文件复制到板子中(Ubuntu中的网络挂载位置),因此本篇需要使用其它的方法将Ubuntu中编译的文件复制到板子中。

这里使用SSH的方式进行拷贝,首先要在Ubuntu中和i.MX6ULL板子中配置SSH功能,配置方法如下:

配置ssh

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt update
sudo apt install openssh-server -y
sudo systemctl status ssh #查看状态
# 如果你的防火墙开启了,使用下面语句
sudo ufw allow ssh

连接方式

基本的ssh连接方法是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ssh username@ip
  • username表示该机器的用户名,ip表示对应的ip地址
  • ssh方式文件复制

从Ubuntu拉取文件到板子中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 从服务器拉取文件
# scp 服务器上的某个用户@服务器IP::/服务器文件存放路径 拉取文件保存路径
scp server_user_name@192.168.1.101:server_file_path local_path

# 我的板子的拉取命令
cd /usr/local/qt-app/mytest/
scp xxpcb@192.168.5.104:~/myTest/imx6ull/qt-test/4-led/led ./

3.3 测试效果

在测试自己的例程之前,需要先将野火的自启动Qt例程kill掉,否则两个Qt程序会同步运行互相遮挡。

kill掉自启动Qt程序

通过ps 、top 等命令查询到ebf-qtdemo的pid,然后通过kill命令停止App运行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#879 为当前 App 的 PID 值,每次可能不一样
sudo kill 879

运行自己的Qt程序

野火的系统中,提供了一个运行脚本run_myapp.sh,需要调用这个脚本来运行自己的Qt程序

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo /usr/local/qt-app/run_myapp.sh /usr/local/qt-app/Control_1

实际测试效果如下:

http://mpvideo.qpic.cn/0bc3pyaaeaaahmakdvxyojrfa7wdaj7aaaqa.f10002.mp4?

可以看出:

  • 板子上的LED的亮度其实不能调节,只能亮或灭,需要确认下是不是LED驱动的问题
  • 触摸的方式拖动板子上的滑条,不太灵活,可能是触摸和鼠标都在起作用,两者干扰了
  • Qt界面中模拟的颜色混合面板,颜色混合显示正常

4 总结

本篇介绍了通过Qt中滑条的使用,并使用滑条来控制i.MX6ULL板子中RGB三个颜色LED的亮灭。通过烧录野火自带的系统固件,使用系统提供的LED驱动程序,再配置自己编译的Qt应用程序,来实现整个功能。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农爱学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
C++ Qt开发:Slider滑块条组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍Slider滑块条组件的常用方法及灵活运用。
王瑞MVP
2023/12/16
8660
C++ Qt开发:Slider滑块条组件
嵌入式Qt-表格使用测试
QTableWidget是Qt中的表格组件类,相关使用函数可以参考Qt Creator中自带的帮助文档。
xxpcb
2022/12/29
1.1K0
嵌入式Qt-表格使用测试
改变QLabel背景颜色
在桌面应用程序开发时,需要显示一些状态信息,例如客户端是否掉线,串口是否打开等,我们可以用一些标志显示给用户,例如如果QLabel显示绿色,表示连接成功,显示黑色表示失败。
全栈程序员站长
2022/09/06
4.7K0
改变QLabel背景颜色
嵌入式Qt-做一个秒表
回顾上一次的Qt开发流程,整个Qt的开发都是通过敲代码实现的,实际上,还可以利用Qt Creater的UI界面功能,通过图像化的配置来开发图形界面,本篇就使用这种方法来进行开发。
xxpcb
2022/10/04
1.1K0
嵌入式Qt-做一个秒表
Qt | QChart和QChartView配合实现面积图、条形图、折线图、饼图、曲线图、散点图,支持显示坐标值和坐标点。
一般我将ctrl+alt+L或者shift+alt+L来展开和折叠所有代码块,方便快速定位函数位置。(这个需要自定义)
Qt历险记
2024/07/03
1.5K0
Qt | QChart和QChartView配合实现面积图、条形图、折线图、饼图、曲线图、散点图,支持显示坐标值和坐标点。
Qt小项目之串口助手控制LED
最近刚学了一点Qt开发上位机,尝试着做个小软件练练手。查找了很多资料,做了一个简单的串口助手,可以实现串口基本发送和接收功能,支持中文显示,还可以控制STM32开发板上的两个LED。
单片机点灯小能手
2020/07/17
2.5K0
Qt小项目之串口助手控制LED
IMX6ULL驱动开发实战连载-01搭建开发环境
综合资料百度云:https://pan.baidu.com/s/1kJdJ6xc12Yg4rPby_MatDA 提取码:4u7d
嵌入式与Linux那些事
2021/05/20
2.5K0
IMX6ULL驱动开发实战连载-01搭建开发环境
Qt Designer基本控件介绍——Input Widgets(输入小部件)
Combo Box :组合框。是一个集按钮和下拉选项于一体的控件,也称做下拉列表框 常用方法: count() :返回下拉选项集合中的数目 currentText() :返回选中选项的文本 itemText(i) :获取索引为 i 的 item 的选项文本 currentIndex():返回选中项的索引 setItemText(int index,text) :改变序列号为 index 的文本 ---- 信号: Activated :当用户选中一个下拉选项时发射该信号 currentIndexChanged
Elsa_阿尼
2021/07/12
6.4K0
Qt Designer基本控件介绍——Input Widgets(输入小部件)
C++ Qt开发:Charts折线图绘制详解
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍QCharts折线图的常用方法及灵活运用。
王瑞MVP
2023/12/24
2.7K0
C++ Qt开发:Charts折线图绘制详解
29.QT-自定义窗口拖动、自定义QToolButton/QPushButton开关按钮、界面阴影
自定义窗口及拖动 1.自定义无边框窗口时,需要将窗口标志设为: Qt::FramelessWindowHint |Qt::WindowSystemMenuHint | Qt::WindowMinMaxButtonsHint 2.然后还需要通过安装EventFilter给自己监视窗口拖动 其中构造函数实现: myUi::myUi(QWidget *parent) : QWidget(parent) { setWindowFlags(Qt::FramelessWindowHint |Qt::Windo
诺谦
2018/07/04
4.6K0
嵌入式Qt-网络监控摄像头
本编利用Qt实现一个网络摄像头功能,包含一个服务端和一个客户端,服务端用于将USB摄像头转换为一个IP摄像头,当有客户端连接时,将其捕获到的图像通过TCP发送出去;客户端运行在Linux板子上,用于查看摄像头的实时画面。
xxpcb
2022/10/04
1.5K0
嵌入式Qt-网络监控摄像头
QT应用编程: 使用qcustomplot显示动态曲线、设计心电图显示页面
完整项目源码下载链接: https://download.csdn.net/download/xiaolong1126626497/18607424
DS小龙哥
2022/01/07
3.9K0
QT应用编程: 使用qcustomplot显示动态曲线、设计心电图显示页面
qt 调色板(应用到窗体背景)
将每个slider的最大值设置为255,因为RGB每个参数的最大值只要255.
花狗Fdog
2020/10/28
1.2K0
qt 调色板(应用到窗体背景)
C/C++ Qt 基础通用组件的应用
QT 是一个跨平台C++图形界面开发库,利用QT可以快速开发跨平台窗体应用程序,在QT中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率。
王瑞MVP
2022/12/23
3.8K0
C/C++ Qt 基础通用组件的应用
QT上位机串口控制MCU
秋名山码神
2023/11/18
5070
QT上位机串口控制MCU
i.MX6ULL嵌入式Linux开发1——uboot移植初探
本系列教程以「i.MX6ULL」处理器的ARM开发板为实验基础,学习记录嵌入式Linux开发的各种知识与经验,主要内容包括嵌入式Linux移植,嵌入式Linux驱动开发,嵌入式Linux应用开发等。
xxpcb
2021/07/20
2.6K0
手把手之如何在嵌入式Linux上运行QT应用程序(以百问网imx6ull开发板为例)
这个QT程序我不想吐槽,实在是太卡了,我做了这么久的嵌入式QT开发,都没写过这样的程序,所以,接下来,我要用开发板运行自己写的QT程序:
杨源鑫
2021/07/07
9.8K0
手把手之如何在嵌入式Linux上运行QT应用程序(以百问网imx6ull开发板为例)
初学Qt不会样式表怎么办,打包好的Qt样式表一键生成送给你。
       很多人应该和我一样,想做界面才接触的Qt,结果就是做不出来华丽的界面,想给控件上个色?不会,百度半天,好不容易给控件添加了背景色,下一个控件又不会了,别急,这次福利来了,我将平时用到的样式表做了一个总结,并做了一个一键生成,调节数据就可以实时显示,里面包括了Label,LineEdit,PushButton,CheckBox,RadioButton,ScrollBar,Slider,Progressbar,Tabwidget,ToolBox,TabWidget控件的自定义。代码很简单,就是重复写槽函数,但其对于新手的学习很有帮助,避免了盲目,大量的通过百度数据拼接样式表。一来方便学习,所以参数都写在左下角,方便了解到使用了什么生成了什么,二来不用重复造轮子,调节后,可直接将左下角生成的QSS代码复制到qt的样式表里面即可显示效果。可能有一些人会说这是一种偷懒,让人逐渐不想学习,只能说智者见智仁者见仁吧。
花狗Fdog
2020/10/28
5.1K0
初学Qt不会样式表怎么办,打包好的Qt样式表一键生成送给你。
i.MX6ULL嵌入式Linux开发2-uboot移植实践
上篇文章,我们介绍了如何使用NXP原厂的uboot进行编译和烧写,将uboot运行在自己的开发板上。NXP原厂的uboot,直接烧录到我的开发板中,LCD的驱动是不正常的,需要进行修改。本篇我们就来继续研究uboot,「使得uboot能匹配我们自己的开发板」。
xxpcb
2021/07/20
1.4K0
【Qt】:Dialog 对话框
模态对话框 指的是:显示后无法与父窗口进行交互,是⼀种阻塞式的对话框。使用 QDialog:: exec () 函数调用。
IsLand1314
2025/02/28
1520
【Qt】:Dialog 对话框
推荐阅读
相关推荐
C++ Qt开发:Slider滑块条组件
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验