Qt初体验

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

 

    最近在利用闲暇时间研究Qt,大概有3周了,看过了官网的white paper并浏览了一遍<C++ GUI Programming with Qt 4, 2nd Edition>。总的来说,感触还是很深的,所以今天想写点东西,作为对Qt初体验的记录。

    本人作为一个MFC老古董(如果你关注本博的话,你是知道的,汗~),发现研究Qt是一件非常令人赏心悦目的事情。那感觉,就像你逛完了集美家具城看到一堆国产风格的家具后突然走进宜家的卖场一样。我并不是说宜家的家具有多么好,只不过宜家家具代表的北欧风格和家具的设计思路和国产的比较起来是那么的不同,让人印象深刻。可能都是来自北欧的缘故吧,Qt的设计和宜家家具的设计都让我感到了那股北欧的简洁、质朴、某些地方又非常巧妙的风格。感谢北欧几个国家的人民,为我们带来了安徒生童话、Nokia手机、ABBA乐队……当然还有Qt

   

    喜欢Qt,当然还是从它的Signals & Slots开始。这个概念的提出是让人非常钦佩的。如果你写过10万行代码,仔细想一下,除了用于计算和处理事务的代码外,其它的代码都是在干什么的?没错,你写了X个响应Windows消息的函数,调用了Y次成员变量的方法,执行了Z个回调函数……你不过是在通过不同的方法与对象或某段代码沟通,让它们去执行某些代码而已。这个沟通的过程,有时候是非常麻烦的,甚至需要调整程序的构架和实现。在MFC中,当你不得不一次又一次继承、修改Message Map,并为代码的高耦合性和重复性头疼不已时,是否想到过别的解决方案呢?对于纯OO的编程来说,每个对象执行一些特定的操作,所有的对象通过沟通来共同执行所有的操作,完成整个软件的功能。在Qt里,Signals & SlotsObjects之间完美的沟通方式,它允许所有继承QObject的子类们随心所欲的沟通,即使在不同的线程中。知道每次当我想到这里的时候是什么心情吗?我要给Eirik鼓掌,大声地,长时间地鼓掌……

    只有一个好的点子是不够的,当你研究Qt源代码时就会发现,为实现一个好的点子,通常要付出艰辛的努力。Let’s make things happen.不知各位听到这句话时一般有什么反应。HaavardEirik即使在没挣到1分钱而需要老婆养活的那几年也能把Qt这个事业坚持下来,并坚持了将近20年。这份执着更让人敬佩。有时候静下心来想一想,我们中国人好像是太聪明了,有时候缺乏那种执着和愚钝。当然,这跟国情也有关系,在中国,本土企业想做个世界级的ISV太难了,想盈利都很难(网游除外),更不用提开源软件了。那些优秀的程序员和软件从业者,难道中国真的没有适合你们大展拳脚的土壤吗?

    言归正传,再说回Qt的特色。与MFC对比起来,你会发现Qt的设计是那么的直白。很多地方的解决方案是你第一次就想到的那一种。感觉在Qt中,没人会觉得你的想法简单。关键在于你能把问题解决。经过了10几年和无数个平台的洗礼,简单的事情就没那么简单了。Keep It Simple & Stupid (KISS),有的时候,我们想得太多了。

    关于Signals & Slots我想再多说一句。在做木工活时,你知道一个好工具的重要性。它直接决定了你的工作是不是很辛苦,和能做出的东西是什么样的。Signals & SlotsQt中就是那个先进的工具,有了它,很多事情就不一样了,整个Qt的构架也不一样了。可以看出,对于一个公司或一款软件来说,一个优秀的系统级程序员是一笔多么宝贵的财富。

    今天先写到这里,我的下面几篇文章将围绕一个Qt程序展开,我会分几步写成一个类似Qt Demo的界面程序。在这个过程中,我会将Qt中的一些特色做个介绍,同时我会与MFC中的某些概念进行对比。有兴趣的TX,请关注本博。

QT使用教程(四)之初体验_如何打开qt示例 Qt Creator 的界面很简洁。上方是,左侧是,窗口的中间部分是。根据设计内容不同,工作会显示不同的内容。上图是在左侧主工具栏单击“Welcome(欢迎)”按钮后显示Projects的界面。我们可以在这新建工程,编写代码等等,稍后会说。这时工作的左侧有 “Projects”、“Examples(示例)”、“Tutorials(教程)”、“Get Started Now”几个按钮,单击后会在主工作显示相应的内容:单击“Projects”按钮后,工作显示新建项目按钮和最近打开项目的列表。 阅读详情

相关推荐

QT使用教程(四)之初体验

Debuggers 页面没有 Windows 的 CDB 调试器,可以用 MSVC 编译器对 Qt Creator 编写的程序进行编译,但是不能调试,这是因为缺少了 Windows Software Development Kit (SDK)。创建界面这个选项如果勾选,就会由 Qt Creator 创建用户界面文件,否则,需要自己编程手工创建界面。单击 Qt Creator 菜单栏的 Tools→Options 菜单项会打开选项设置对话框,对话框的左侧是可设置的内容分组,单击后右侧出现具体的设置界面。

关注我!带你一路 "狂飙" 到底! 840

vlc-qt-1.2.0库【VS2019+Qt 5.15】

这是一个编译好的 vlc-qt 1.2.0 版本资源文件,内含所需的lib文件、dll文件以及头文件,编译环境为VS2019+Qt 5.15

Qt集成Echarts初体验

简单介绍 ECharts 是一个使用 JavaScript 实现的开源可视化库,涵盖各行业图表,满足各种需求。官方的教程写的很详细,只要花点时间,基本上会写hello word的程序猿都能看懂,在Qt上使用的话只需要熟悉一点点html和JS语法即可,重在掌握方法。 Echarts资源 1、下载Echarts 直接在github上下载即可,或者链接到gitee下载zip包。 2、测试 下载完成解压之后在echarts/dist文件夹内,新建一个空白的xxx.html文件,并写上一下代码(代码来自Echar

wwplh5520370的博客 6069

QtQt初体验

看我之前的博客就知道,最开始我了解一点的就是MFC的图形化编程。但是看到很多网友在评论下面吐槽VC已经是老古董了,Qt很好。我很是纠结了一段时间,最终决定来学习Qt了解一下。 第一面,感觉软件有点像eclipse等IDE的界面。建工程的时候(界面如下)也是比较懵逼,很多东西都不懂。 默认进去之后,设计图形化界面很像java 接下来,由于不了解我想实现的功能应该如何去实现。打算

我在等那么一天的博客 3926

QT---心得体会

周六,一个加班日,手头暂无工作任务,闲暇写下。 使用QT大概有4个月了,上学那会一直想也没浅下心来学,疫情期间,机缘巧合的学了一下,也许是命运吧,工作后就也刚好用上。(上边都是废话,可略) 期初从资料,都是从网络上找的,归类详细,但内容不详细,初学可以大概扫视一遍有个大概的印象,然后跟着教学视频手敲一些,入门的视频资源特别多,可以从B站随便找,大部门都是教客户端的,驱动程序的需要多找找,本人购买的课程不做安利,感觉跟免费资源差不多,无非就是有解答问题的人,其实发帖求助也是可以结...

Hemingway_Hoo的博客 3571

QT资料大全

@QT QT资料大全 发福利了、发福利了、发福利了,重要的事情说三遍。。。 为了方便更多 Qter 了解、学习 Qt,现将相关资源进行整理,主要内容包括:Qt 官网、编码风格、GitHub & Third-Party、社论坛、博客、书籍等。 满满的都是干货,独乐乐不如众乐乐。。。 Qt 官网 Qt 官网. Qt 下载. Qt 所有下载. Qt 官方发布下载 . Open Source 下载. Qt WiKi. 社论坛 国外论坛: Qt-Centre. 一个非常全面的外国网站,有 forum、

lg930320的博客 2151

QT 相关资源(书籍、论坛、博客等。。。)整理...

中文名:《提问的智慧》 英文名:How To Ask Questions The Smart Way 中文链接1:http://www.beiww.com/doc/oss/smart-questions.html 中文链接2:http://community.csdn.net/IndexPage/SmartQuestion.aspx 虽然这篇文章与QT没有太大关联,不过我还是放在...

weixin_38166557的博客 337

Qt5使用openGL初体验

Qt5使用openGL初体验Qt5使用openGL初体验下载Qt5搭建Qt的opengl基本框架源码部分gldemo.h头文件下面是gldemo.cpp源码文件main函数主文件 Qt5使用openGL初体验 最近在这里一个魔方项目,用到了opengl的相关部分,好久也没有玩这个东东,所以还是写下这个过程,作为初学者还是要多动手才行。首先看一看运行的效果,这里绘画了一个三维坐标系,由x、y、z三个...

mcuman996的博客 5906

qt 设置按钮大小_QT使用教程(四)之初体验

在读本篇内容之前建议先从QT使用教程(一)(二)(三)读起,初体验1:Qt Creator界面认识启动 Qt Creator,出现下图界面:Qt Creator 的界面很简洁。上方是主菜单栏,左侧是主工具栏,窗口的中间部分是工作。根据设计内容不同,工作会显示不同的内容。上图是在左侧主工具栏单击“Welcome(欢迎)”按钮后显示Projects的界面。我们可以在这新建工程,编写代码等等,稍后会...

weixin_39647458的博客 2675

QT 初体验

使用下来发现,对于一些小的界面程序,如果习惯了QT Creator,在AI 加持下效率是很高的,且跨平台十分容易,一旦上手,估计对于我们而言,很长一段时间会用QT而不是Visual Studio 进行开发了。上手时间大概1-2周。笔者是嵌入式工程师,主要在FPGA平台工作,偶尔会需要编写一些上位机的通讯、控制代码,之前一直使用C#,最近接触了QT,讲一下使用体验吧。QT 天然C++,直接可以调用C 代码,当然 开发工具、语法肯定没有C# 那么易用,这次也就是尝试一下看看。

Hello-FPGA 370

[QT]QT的安装和初体验

QT是一个多平台IDE,可以在多个平台(linux,Windows,os x)进行开发,支持的平台参考:链接.QT也可以开发不同平台的软件,比如Android,iOS,Windows,Linux/X11,OS X,Windows Runtime,WinCE等.本文介绍的是如何在Ubuntu 14.04 64位版本上进行qt安装并开始第一个项目.1.安装安装比较简单,只需要依次执行下面的命令即可:wg

Forgive Me 536

QT QML初体验随笔之QQuickView(3)

QML添加自制窗口系统最小化和关闭按钮 1.环境 本文章是在QT QML初体验随笔之QQuickView(2)基础上进行修改 2.添加新的按钮基类的QML文件 3.进行共性按钮编码 按钮的图片切换三种姿态:正常,鼠标悬停和按下状态按钮鼠标操作:鼠标划入,鼠标划出,鼠标按下,鼠标释放按钮按下后,发送信号 import QtQuick 2.0 Re

kingmei的博客 996

Meego with Qt初体验

Meego with Qt初体验几天前Meego发布了其应用于Netbook上的SDK,笔者作为Qt开发者当然不会错过这一新平台。总的来说,Meego上的Qt应用看起来和Windows下开发的差不多,可能是因为是Netbook的缘故,所以整体风格别于maemo更像是桌面版的。P.S. 如果你也对Meego感兴趣的话,可以到http://wiki.meego.com/Getting_started_with_the_MeeGo_SDK_for_Linux下载SDK笔者是在VirtualBox下用Ubuntu

chuckGao的专栏 1567

QT初体验

2.3.4 returen a.execl() 让应用程序对象进入消息循环机制中,代码阻塞到当行。2.2默认创建有窗口类,mymidget,基类有三种选择:Qwidget ,QMainWindown,QDialog。1.4.1 Linux桌面环境 KDE。2.3.3 w.show()调用show函数,显示窗口。1.4.3 VLC多媒体播放器。2.1 点击创建项目后,选择项目的路径以及项目的名称(名称。1.3.1 商业版本。1.3.1 免费开源。1.4.2 谷歌地图。1.1 跨平台图形界面引擎。

CHINA_CXH_HN的博客 373

2022年QT初体验以及未来趋势发展以及前景概要

Qt 是一款跨平台软件,用于创建图形用户界面以及跨平台应用程序,这些应用程序运行在各种软件和硬件平台上,如Linux、Windows、macOS、Android或嵌入式系统,底层代码库几乎没有变化,同时仍然是具有本地功能和速度的本地应用程序。QML 是一种声明性语言,其语法类似于 CSS 和 JSON,支持命令式 JS 表达式。QML 定义了对象的属性及其关系以及对其他对象变化的响应。与命令式语言不同,它将属性的变化以及行为直接集成到对象定义中。通常,引擎会从 QML 文档中加载 Qt 标记语言的源代码。

Meta.Qing的博客 4784
上一篇: MFC编程点滴系列4-有多少MFC可以重来
下一篇: 关于QT中显示中文的一些研究
superjoel
博客等级 码龄25年 137粉丝 24原创
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值