什么是Qt(二)

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

引自维基百科(浅谈Qt历史)

Haavard Nord和Eirik Chambe-Eng于1991年开始开发“Qt”,1994年3月4日创立公司,最早名为Quasar Technologies,然后更名为Troll Tech,然后再改为Trolltech,中文名是“奇趣科技”,2008年6月17日被NOKIA公司收购,以增强该公司在跨平台软件研发方面的实力,更名Qt Software。

该工具包名为Qt是因为字母Q在Haavard的Emacs字体特别漂亮,而“t”代表“toolkit”,灵感来自Xt,X toolkit[21]。
2009年5月11日,诺基亚Qt Software宣布Qt源代码管理系统面向公众开放,Qt开发人员可通过为Qt以及与Qt相关的项目贡献代码、翻译、示例以及其他内容,协助引导和塑造Qt未来的发展。为了便于这些内容的管理,Qt Software启用了基于Git和Gitorious开源项目的Web源代码管理系统。
在推出开放式Qt代码库的同时,Qt Software在其网站发布了其产品规划(Roadmap)。其中概述了研发项目中的最新功能,展现了现阶段对Qt未来发展方向的观点,以期鼓励社区提供反馈和贡献代码,共同引导和塑造Qt的未来。2012年8月9日,Digia宣布已完成对诺基亚Qt业务及软件技术的全面收购,并计划将Qt应用到Android、iOS及Windows 8平台上。


信号与槽机制(Qt 最大特色)

Qt利用信号与槽(signals/slots)机制替换传统的callback来进行对象之间的沟通。当操作事件发生的时候,对象会发提交一个信号(signal);而槽(slot)则是一个函数接受特定信号并且运行槽本身设置的动作。信号与槽之间,则通过QObject的静态方法connect来链接。
信号在任何运行点上皆可发射,甚至可以在槽里再发射另一个信号,信号与槽的链接不限定为一对一的链接,一个信号可以链接到多个槽或多个信号链接到同一个槽,甚至信号也可连接到信号。
以往的callback缺乏类型安全,在调用处理函数时,无法确定是传递正确型态的参数。但信号和其接受的槽之间传递的数据型态必须要相匹配,否则编译器会提出警告。信号和槽可接受任何数量、任何型态的参数,所以信号与槽机制是完全类型安全。
信号与槽机制也确保了低耦合性,发送信号的类别并不知道是哪个槽会接受,也就是说一个信号可以调用所有可用的槽。此机制会确保当在”连接”信号和槽时,槽会接受信号的参数并且正确运行。


并不需要了解太多,当实际使用起来的时候自然会懂得越来越多。刚开始的学习或许枯燥,或许难以接受,又或许感觉到神奇(从黑白命令框转变成图形界面界面)!这都是很正常的表现,但是不要把Qt 当做一门语言,因为你在使用或是学习的过程中同样会发现用到的一些查找算法以及排序算法等等。。。所以建议在有一定c++基础上学习Qt 会更有趣更轻松。在学习的过程中,你可能很多地方不理解甚至在自己跟着编译情况下程序无法通过,但是不要害怕,仔仔细细找出错误所在。你要相信接触多了就会变成高手! 学会累计经验,总结经验!一步一步慢慢走就熟悉了道路,从而越走越轻松。

QT5.14入门教程GUI()第2个QT程序-按钮 QT5.14入门教程GUI()第2个QT程序-按钮 按钮的添加,共2种方式; 一、第一种,普通直接添加点击事件处理; 1、新建项目,改名称Button; 2、改类名,我就不改了; 3、打开UI界面,双击; 4、找到左侧,按钮,如下;单击,拖到右侧界面中释放; 5、双击,改名称;按钮1; 6、右键单击,按钮1;如下,选择——转到槽; 7、选择槽函数,... 阅读详情

相关推荐

[QT] QT加载百度离线地图(

感谢小郭软件提供的离线地图下载工具,这个失效了,文章末尾会附上下载链接,使用方式参见链接 一、下载离线地图相关文件 确保文件夹baiduLX_JS-master\bmap-offline\下的tiles、tiles_hybird、tiles_satellite中是空的,我们需要下载我们自己的地图文件 如何下载地图? (1) 双击运行BMapTool程序, (2) 切换导航到“下载地图” (3) 点击区域下载,在地图上画个框后,弹出窗口中选择瓦片级数 (4) 选择目录并点击确认后,打开下载工具 (5) 在下载

qq_39295354的博客 8370

奇趣科技在华推广Linux软件开发平台

Linux及跨平台软件开发商奇趣科技公司日前宣布,将把最新获得的风险投资用于加速全球扩张,其中包括在中国的业务拓展。  该公司透露,此次获得了由Index牵头提供的6,700万美元的B股投资。Teknoinvest和Northzone Ventures两家风险投资公司也同时参与了此次交易。   奇趣科技首席执行官Haavard Nord说:“我们之所以选择Index Venture,是因为它是最著名的高科技投资公司之一,在发掘欧洲本土创新型科技公司如MySQL和Skype,及扶持它们成为强劲的全球性企业的过程中一直保持着非常优秀的纪录。Linux市场迅速的扩张,已经超出了数据中心的范围,进入嵌

QT学习之路

一、圆面积计算器 lable的内容设置有两个大方法:其一是在gui编辑界面中直接修改,其是从程序运行当中进行返回显示;第张方法实例如下:ui->lable_3->setText(字符串类型)QT中定义了字符串类型 QString ui ->lineEdit ->text() 表示从lineEdit中读入字符串内容,返回的数据类型是QString 字符串类型数据...

weixin_44405644的博客 860

Qt工程文件中QT -= core gui与Config-=qt的区别

使用QtCreator创建工程,不想使用qt库,我平时都是通过QtCreator创建Empty Qt Project创建一个空工程,然后在pro文件中加上QT -= core gui来配置的,但是通过QtCreator创建Plan C++ project,发现pro文件是Config-=qt这么配置的,那么两者有什么区别么?通过编译后对比编译输出发现,我平时使用的方法编译选项里多了-D_REENT

huanggang982的专栏 9469

QT QML学习系列(七)-表达式和运算符

在QML中,不同类型的运算符具有不同的优先级。运算符的优先级指定了表达式中各个运算符的计算顺序。例如,乘法运算符的优先级高于加法运算符,因此乘法运算先于加法运算执行。QML的表达式语法非常灵活,允许使用各种运算符和操作数。QML的运算符优先级与其他编程语言的优先级类。

gmcnoah的博客 3766

QT运算符低级错误(&与==)

工作越久基础知识就会淡忘,特记一个低级 错误 C++中的运算符优先级 &在==之后,因此在进行编码需要注意优先级的重要性 如下代码 代码1 if((tempData1 & 0x80) == 0x80){ //执行A }else{ //执行B } 代码2 if(tempData1 & 0x80 == 0x80){ //执行A }else{ //执行B } 这两端代码...

西门吹雪 1975

qmake的pro文件各类赋值操作的含义=,+=,*=,~=,-=

"="运算符为一个变量赋值: TARGET = my_app #上面的行将TARGET变量设置为my_app。此操作会覆盖之前TARGET的值。 "+="运算符将一个新值附加到变量中的值列表中: DEFINES += USE_MY_STUFF #上面的行将USE_MY_STUFF追加到预处理器定义列表(即DEFINES)中,不会覆盖之前的值。 "-="操作符从一个变量中的值列表中删除一个值: DEFINES -= USE_MY_STUFF #上面的行从预处理器定义列表(即DEFINES)

soldier_d的博客 927

Qt--计算器的实现

界面的代码实现 #include “Widget.h” #include #include #include int main(int argc, char argv[]) { QApplication a(argc, argv); QWidget w = new QWidget(NULL, Qt::WindowCloseButtonHint); w->setWindowTitle(“...

ting2909的博客 441

QT 按钮选一 QRadioButton

QT中的按钮选一的代码:实现的功能和QRadioButton的功能是一样的 实际它就是一个互锁的原理,具体实现如下:

qq_33590288的博客 5782

qt ui界面添加 选一 、多选一 按钮 radiobutton

前言 现需要一个选一的按钮,例如从板卡1、2中选择一块儿。 环境:qt 5.9.0 、win10 qRadioButton 在ui设计界面将几个qRadioButton拖到ui界面上,运行效果如下。 可见4个qRadioButton只能够被选中一个,而我需要上边两个选一,下边两个选一。使用布局来实现。(对内部时钟和外部时钟做同样的布局) 直接运行即可,效果如下: ...

Fourier_1024的博客 6800

Qt 值图背景透明,前景上色并找到重心

  需求:把值图前景换成任意颜色,背景透明,并提取重心。有很多方法可以实现,需求如果跟我一样可以参考下。   效果:   剔除背景:QImage图片转换成Format_Indexed8类型,可以获取图片的ColorTable。让后把ColorTable的背景色换成自定义的。 static QImage ConvertImageToTransparent( QImage image, const QRgb &rgb_show = QColor(255, 0, 0)

Beyond欣 772

QT常用操作总结

目录读写配置文件iniQSettings类介绍写配置文件 读写配置文件ini 软件开发到一定程度,需要一些配置参数,利用QT自身的QSettings类对.ini文件进行读写。 QSettings类介绍 //在currentPath路径下创建一个指定名称的配置文件, //当format是QSettings::IniFormat时,文件应是一个ini文件。 QSettings(const QStrin...

李的博客 472

QT)】—— 初识QT

本文介绍了使用Qt创建简单GUI项目的基本方法,重点讲解了文本框、输入框和按钮三种基础控件的两种创建方式:图形化界面拖拽和代码创建。通过示例代码演示了如何设置控件文本、位置等属性,并解释了Qt的对象树内存管理机制和坐标系系统。文章还说明了控件命名的查看方法,以及通过代码操作图形化界面创建的控件的方式。这些基础知识为后续更复杂的Qt开发奠定了基础,帮助开发者快速上手Qt界面编程。

LH__1314的博客 1247

QtQt概述(

当我们安装好QT后,使用开始菜单找到QT栏,可以找到如下四个栏目这里安装的是QT5.14.0Assistant 5.14.0:QT的英文帮助文档Designer 5.14.0:Qt的图形化编辑界面Linguist 5.14.0:Qt的国际化语言工具,可以帮助我们将发开的工具面向国际化(翻译软件)Qt Creator:Qt的集成开发工具(我们平常开发一般都是使用的这个)新创建的项目,会自动的帮我们生成几个文件widget.hmain.cppwidget.cpp:界面开发一般在这里。

weixin_63246064的博客 1610

使用QT实现播放gstreamer的命令(

使用QT实现播放gstreamer的命令画面(),更全更完整!!!

Alon1787的博客 5588

Qt基础 03_Qt对话框(

一、弹出不同的窗口 、小型计算器

C_estbon的博客 562

qt pushButton 设置态按钮

xx.cpp // 设置态按钮 参考https://qtguide.ustclug.org/ ui->pushButton->setCheckable(true); connect(ui->pushButton, SIGNAL(clicked(bool )), this, SLOT(slot_on_pushButton_clicked(bool ))); void slot_on_pushButton_clicked(bool checked) { if (checked) e

fuyouzhiyi的博客 1331

QT 3D 学习笔记()创建3D窗口

环境搭建完成我们所要做的当然就是开始我们的3D历程。 做过3D的朋友,应该会熟悉一样东西,那就是OpenGL(不过本人对其知之甚少)。这个东西就好比C在各种语言中的地位一样。 很多朋友有做个C++下做3D的,但是我这里用的是QML。当然熟悉QT的朋友会了解到这个大道同归。 首先我们来看看我们是如何加载场景的。上代码: #include <Qt3DQuickExtras/qt3dquickw...

qq_30987189的博客 1529

掌握Qt构造系统()软件部署

讲解Qt软件部署工具及流程。

撬动未来的支点的专栏 1570
上一篇: CSDN的第一篇博文【什么是QT(一)】
下一篇: 变量名的力量(一)
MessyInk
博客等级 码龄11年 136粉丝 1992原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值