Qt常用的按钮控件编程(一)-- Push Button按钮


前言

使用实际编程的方法学习 Qt 控件,可以更好地理解和掌握按钮控件的特性和应用,同时还可以提高编程技能并增强对 Qt 框架的认识。
我们将通过几篇系列文章,介绍QT常用按钮编程。
本文介绍QT常用控件的第一个按钮,Push Button按钮编程。通过这个例子,初步了解QT的信号与槽、样式表等机制,此外,我们的调试环境配置了双架构Kits,使得编译调试可以在当前的ubuntu中进行,也可以重新编译后下载到目标arm设备中运行。
我们的编程环境为:Ubuntu64位系统(22.04),目标架构:(1)qt5 x86_64 架构,(2)qt4 32位arm架构。


1、配置双架构 Qt kits

在开发环境中,我们使用的是 x86_64 架构的 Ubuntu 22.04 虚拟机,而目标设备是使用 32 位 ARM 架构的系统。为了提高开发效率,我们在调试环境中同时配置了 x86 架构的 Qt 库。这样,在进行 Qt 界面开发和调试时,我们可以在 Ubuntu 上直接进行。在满意后,切换kit,重新编译后将应用程序下载到目标设备中进行测试和运行。由于减少了下载次数,大大提高了工作效率。

1.1 x86 架构的 Qt 库安装

虽然在 Qt5 中添加了很多新的功能和模块,但是对于常用控件,它们与 Qt4 中的版本基本相同,可以使用相同的方法和属性进行操作。
我们在 Ubuntu 22.04 虚拟机直接安装QT5和qtcreator:

sudo apt-get install build-essential
sudo apt-get install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools
sudo apt-get install qtcreator

qtcreator所有的配置采用默认。

2.2 安装32位armQT4开发环境

2.2.1 安装必要依赖和库

(1)安装 lib32stdc++6 软件包来解决。

sudo apt-get install lib32stdc++6

(2)安装依赖

sudo apt-get install build-essential libfontconfig1 mesa-common-dev libglu1-mesa-dev libpulse-dev libicu-dev libsqlite3-dev libssl-dev libxcb-xinerama0-dev libxkbcommon-dev libxkbcommon-x11-dev libasound2-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev

(3)安装32位 cc1组件

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install zlib1g:i386

2.2.2 配置交叉工具链

  • 将过去备份的交叉工具链gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.gz,拷贝到/opt,解压:
sudo tar -zxvf gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.gz
  • 将解压缩的工具链目录添加到环境变量中,例如添加以下行到 ~/.bashrc 文件最后:
vim ~/.bashrc

export PATH=$PATH:/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/bin
  • 运行 source ~/.bashrc 命令以更新环境变量。
source ~/.bashrc
  • 验证一下:
arm-linux-gnueabihf-gcc -v

成功:

。。。
gcc version 4.7.3 20130226 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2013.03-20130313 - Linaro GCC 2013.03) 

2.2.2 导入qt4库和tslib库

2.2.2.1 导出qt4-arm和tslib-arm

我们将按照《Ubuntu64位系统(v18.04)下arm32位版本(Qt4.8.6和tslib1.4)开发环境搭建》第5节的方法完成的QT4库qt4-arm文件夹和第4节完成的tslib-arm文件夹压缩。

 tar -czvf qt4-arm.tar.gz qt4-arm
 tar -czvf tslib-arm.tar.gz tslib-arm

得到两个压缩文件:qt4-arm.tar.gztslib-arm.tar.gz

2.2.2.2 将qt4-arm和tslib-arm导入到新的ubuntu系统中

拷贝qt4-arm.tar.gztslib-arm.tar.gz到当前的ubuntu系统中,解压。

tar -zxvf qt4-arm.tar.gz
tar -zxvf tslib-arm.tar.gz

注意:需要将这两个文件放在与导出ubuntu系统相同的绝对路径下。

2.2.3 配置qtcreator Kit

  • 配置Qt Versions
    打开 Qt Creator,选择「工具」-「选项」-「构建和运行」 - 「Qt Versions」,界面如图:
    图
  • 配置编译器
    为qtcreator配置交叉工具链,切换到 「编译器」,点击「添加」,选择GCC,添加C和C++交叉工具链路径,结果如下图:
    图2
  • 配置Kits
    切换到
    图3

有关这部分的详细内容,请参考前面的两篇博文《Ubuntu64位系统(v18.04)下arm32位版本(Qt4.8.6和tslib1.4)开发环境搭建》和《Ubuntu64位系统(20.04、22.04)安装32位armQT4开发环境补充说明》。

2、 Qt常用的按钮控件

图4
这些都是 Qt 框架中常用的按钮控件,主要用于触发交互操作。

  • Push Button
    推按钮,也叫普通按钮,通常是一个矩形区域,上面显示的文本是该按钮的标签。当用户点击按钮时,会发出 clicked() 信号。
  • Tool Button
    工具按钮,通常是一个图形化的按钮,可以在图标和文本标签之间进行选择。默认情况下,工具按钮只包含图标,但是可以通过设置 toolButtonStyle 属性来更改其显示方式,比如可以显示文本标签或者在鼠标悬停时显示文本标签。
  • Radio Button
    单选按钮,通常用于多选一的场景,用户可以从多个选项中选择一个。通常情况下,单选按钮会通过与其他单选按钮的 group 联系在一起,保证同一时间只有一个单选按钮被选中。
  • Check Box
    复选框,通常用于多选的场景,用户可以从多个选项中选择多个。与单选按钮不同,复选框不需要分组,因为用户可以同时选中多个复选框。
  • Command Link Button
    命令链接按钮,通常用于表示执行一个重要操作或打开一个重要的对话框,这个按钮的文字通常使用一个动词短语,比如“保存”,“重命名”等等。命令链接按钮的外观会随平台的不同而不同。
  • Dialog Button Box
    对话框按钮盒子,通常用于对话框中放置一组按钮,比如“确定”,“取消”等等。这个控件提供了一套标准的按钮类型,可以方便地将这些按钮添加到对话框中,同时可以通过 signals 和 slots 进行与这些标准按钮的交互。

3、Push Button 按钮编程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值