Qt 程序开发
Qt 的跨平台特性,使其广泛应用于Windows、Linux,以及Android与嵌入式Linux平台,本专栏收录一些本人及身边朋友在 Qt 应用程序过程的经验与问题。
阿基米东
本科毕业于国内某知名双非理工大学,当过校队球员,后自学编程,专注于嵌入式软件开发十余年,在物联网、机器人、汽车等领域拥有实战经验,也是多个开源项目的贡献者,对 Web 前后端、AI 技术略知一二。立志成为一名杰出的开源创客,让世界因我而变得更美好!
展开
-
Qt 的发展历史、现状与启示
Qt 最早在1991年由挪威的两位程序员 Eirik Chambe-Eng 和 Haavard Nord 开发,他们在1994年创立 Trolltech 公司(奇趣科技)正式经营软件业务。Qt 的第一个公众预览版于1995年面世,之后在2008年被诺基亚收购;2011年到2012年,在诺基亚全面转向微软系后,将 Qt 软件业务出售给了芬兰 IT 服务公司 Digia;2016年,Qt 公司从 Digita 独立出来并在芬兰上市;2017年获得 1500 万欧元投资;2018年在坚持了20多年后,Qt 终于迎原创 2024-04-03 14:45:56 · 1596 阅读 · 1 评论 -
Qt 程序使用自带 ttf 字体示例
TTF简介 TTF(TrueTypeFont)是 Apple 公司和 Microsoft 公司共同推出的字体文件格式,随着二十多年来 windows 的流行,目前 TTF 已经变成最常用的一种字体文件表示方式。truetype 字体的最大优点是可以很方便地把字体轮廓转换成曲线,可以对曲线进行填充,制成各种颜色和效果,它可以进一步变形,制作特殊效果字体,因此经常用来制作一些标题字或花样字。 桌原创 2017-12-08 17:24:46 · 7676 阅读 · 1 评论 -
基于Qt的ARM-Linux系统测试工具
GYT_BOX 是一个特地为 ARM Linux 平台开发的基于 Qt 的图形界面系统测试工具,提供一些常用外设的测试和校准功能、系统设置、监测等功能。 在 Yocto 系统 Sato 桌面的 All 或 Settings 页面可以找到“GYT Box”图标,如图1所示,点击图标即可启动程序。 图1 在 All 页面找到 GYT Box 应用程序 GYT Box 的左侧是功能栏,目前包括原创 2017-06-26 23:47:55 · 2411 阅读 · 2 评论 -
Qt5如何使用摄像头
(DEMO代码)项目名称:myCameramyCamera.proQT += multimediaQT += multimediawidgetsmycameradialog.h#ifndef MYCAMERADIALOG_H#define MYCAMERADIALOG_H#include #include #include #inclu原创 2015-11-24 22:43:01 · 6146 阅读 · 1 评论 -
Qt5如何使用麦克风
(DEMO代码)项目名称:myAudio myAudio.proQT += multimediamyaudiodialog.h#ifndef MYAUDIODIALOG_H#define MYAUDIODIALOG_H#include <QDialog>#include <QLabel>#include <QPushButton>#include <QAudio>#include <QM原创 2015-11-24 22:54:54 · 6786 阅读 · 0 评论 -
Qt5学习笔记——QRadioButton与QButtonGroup
【我是小标题:使用QToolButton实现radio button功能。】QRadioButton是什么? 下图是Windows系统中典型的radio button显示效果。 QRadioButton是一个可以switch on或off的按钮,对应的状态为checked和unchecked。一组QRadioButton通常用于表示程序中“多选一”的选择,例如单项选择题。在一组r原创 2016-01-08 13:45:19 · 74873 阅读 · 11 评论 -
Qt5学习笔记——QEvent 事件处理
Qt是事件驱动的, 程序每个动作都是由某个事件所触发。 Qt事件的类型很多,我们可以通过查看Qt的 manual中的Event System 和 QEvent 来获得各个事件的详细信息。事件来源 Spontaneous events(自发事件) 从系统得到的消息,比如鼠标按键,键盘按键等。Qt事件循环的时候读取这些事件,转化为QEvent后依次处理 Posted events 有Qt或应原创 2016-01-12 23:00:01 · 3642 阅读 · 0 评论 -
Qt的.pro工程文件语法学习
Qt的.pro工程文件语法学习 我们编写Qt应用程序时,不管使用Qt Creator还是VS或者Eclipse,不管是Qt Widgets还是Qt Quick,总会发现有.pro文件,我们称.pro文件为Qt的工程管理文件,它存在的目的是列举工程中包含的源文件。类似于makefile,一个工程中可以包含一个或多个.pro文件。因此对于使用Qt的开发人员来说,熟悉.pro工程文件的语法,懂得阅读原创 2016-01-15 12:25:10 · 4424 阅读 · 2 评论 -
通过qss实现Qt按钮的默认效果——qconicalgradient
这里提供一种使用qconicalgradient()实现QPushButton的默认显示效果的方法,由名字可以知道,qconicalgradient()提供的是一种扇形渐变效果,或称为圆锥式渐变效果。直接上代码 >>按钮正常状态时的样式QPushButton { border: 1px solid rgb(124, 124, 124); background-color: qconi原创 2016-01-17 00:49:25 · 6423 阅读 · 0 评论 -
Qt Creator 快捷方式总结
F1,半屏显示相应类的说明,再按一次F1,则全屏显示,按Esc关闭 F2,在函数或类型的定义与实现间切换 F4,在类的实现和定义间切换Ctrl+Tab,选择已打开的文件Ctrl+r,编译运行 Ctrl+i,代码自动排版Qt Designer界面预览:Shift+Alt+R原创 2016-07-31 10:39:05 · 1605 阅读 · 0 评论 -
Qt5获取并解析中国天气网数据
简单版本: Qt获取天气信息 该功能主要借助于中国天气网提供每个地方的网页,利用Qt的网络类将网页上的字符串截取下来步骤一:建立两个相关的Qt网络类的对象 QNetworkAccessManager *manager; QNetworkReply *reply; QString city;//用于获取地方的字符串 QString weather;//用于获取天气的字原创 2016-09-05 09:03:57 · 3653 阅读 · 13 评论 -
Qt如何设置透明度
以 QLabel 为例,利用 qss 可以方便很方便地实现半透明显示。代码如下:QLabel{ background-color: rgba(255, 255, 224, 50%); border: 2px solid black;} 设置调节背景的透明度就可以了,0%表示全透明,100%表示不透明。效果如下:原创 2016-09-11 02:31:09 · 16593 阅读 · 0 评论 -
QLineEdit 控制输入格式——正则表达式与输入掩码
在实际应用中,我们常常需要在界面上控制用户的输入行为,以此来简化数据的处理。在 Qt 中,我们可以利用正则表达式和输入掩码来达到这种效果,例如 IP 地址的输入。 首先,构建正则表达式,并通过 QLineEdit 的 setValidator 函数进行输入校验设置,从而控制输入行为。部分代码如下:QRegExp rx("((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.)原创 2016-12-28 00:54:12 · 7769 阅读 · 1 评论 -
Qt解析INI配置文件
大部分的程序都会有相应的配置文件,如果一个程序没有任何配置文件,那么它对外界是完全封闭的,一旦程序需要修改一些参数必须要修改程序代码本身并重新编译。为了让程序出厂后还能根据需要进行必要的配置,即让程序更有弹性,所以要用配置文件。那么,配置文件就有很多种啦,比如 INI 配置文件、XML 配置文件、cfg 配置文件、JSON 配置文件等等,还有就是可以使用系统注册表等。原创 2017-01-24 14:33:00 · 4785 阅读 · 0 评论 -
Qt5打开文件对话框简述
这两行代码摘自我之前写的一个TCP传送文件的程序: QStringfileName;//保存文件路径 fileName=QFileDialog::getOpenFileName(this,tr("这是标题>>open>>"),tr("C:/Qt/ICon"),tr("pngfile(*.png);;iconfile原创 2014-03-29 16:23:59 · 1719 阅读 · 0 评论 -
QT对话框中show和exec的区别
(注:本文在转载的同时作出小部分修改。)QDialog的显示有两个函数show()和exec()。他们的区别在参考文档上的解释如下:show():显示一个非模态对话框。控制权即刻返回给调用函数。弹出窗口是否为模态对话框,取决于modal属性的值。(原文:Shows the dialog as a modeless dialog. Control returns immediatel转载 2015-09-19 19:30:38 · 2335 阅读 · 0 评论 -
QString与char *的相互转换
在进行编程时,我们经常需要用到字符串这种类型,毫无疑问,Qt 库中也对字符串类型进行了封装,QString 类提供了你能想到的所有字符串操作方法,给开发者带来了极大方便。 但是我们在编写程序时,不可避免地会在 Qt 框架上使用第三方的开源库,由于库的类型基本上都是标准的类型,即使用 char * 来表示字符串类型。那么问题来了,QString 和 char * 之间如何进行转换呢? 下面分两原创 2016-09-08 00:27:43 · 60525 阅读 · 5 评论