baizy77的个人主页

http://www.qtcn.org/bbs/u/88608  [收藏] [复制]

baizy77

小白

  • 2

    关注

  • 8

    粉丝

  • 1

    访客

  • 等级:新手上路
  • 总积分:0
  • 男,1977-11-27

最后登录:2021-01-06

更多资料

日志

2020-12-24 14:56

本案例对应的源代码目录:src/chapter04/ks04_06。
本节介绍Qt的数据处理类QList,QList实际内部还是一个指针数组。如果要使用QList,需要包含其头文件<QList>。本案例也设计了三种编程场景对QList的使用进行介绍。
(1)向QList中添加成员并遍历。
(2)向QList中添加自定义类的对象。
(3)向QList中添加自定义类对象的指针。
下面进行详细介绍。
1.向QList中添加成员并遍历
代码清单4-44中介绍了向QList中添加成员并遍历的方法,这里也使用quint16作为成员对象的类型。
代码清单4-44
void example01(){ // 添加成员 QList&l ..

阅读全文»分类:Qr入门与提高|回复:2|浏览:417
2020-12-24 14:55

本案例对应的源代码目录:src/chapter04/ks04_05。
在软件研发过程中,数据结构是个无论如何也不能回避的话题。包括STL在内,很多第三方库都对常用数据结构进行了模板化封装。从本节课开始,将介绍Qt封装的几个常用数据结构模板类,本节先介绍数组类QVector。学过C++的人员都知道数组的成员在内存中是连续存放的,因此使用下标访问数组成员时效率是非常高的。但是当扩大数组容量时,有可能需要重新申请内存,然后将旧的数组成员复制到新内存中,这会损失一些性能。所以如果经常对数据集进行插入、删除元素的操作,那么不建议使用数组。O ..

阅读全文»分类:Qr入门与提高|回复:0|浏览:356
2020-12-24 14:54

本案例对应的源代码目录:src/chapter04/ks04_04。
在开发C/S(Client/Server,客户端/服务端)模式的软件时,服务端程序(有时也称作服务)经常运行在两种模式下。
(1)终端模式。
终端模式,也可称作命令行模式。在这种模式下,服务端程序占用终端(命令行)运行,用户既可以看到服务端程序向终端输出的信息,也可以在终端输入命令以调整程序的行为。
(2)后台模式。
后台模式就是Windows的服务模式(在Linux、Unix下也有服务模式)。在这种模式下,服务端程序以后台服务方式运行,而且没有任何界面。用户无法通过终端查看模块状态或 ..

阅读全文»分类:Qr入门与提高|回复:0|浏览:392
2020-12-24 14:51

本案例对应的源代码目录:src/chapter04/ks04_03。
Qt提供了大量的类来支撑跨平台软件研发工作,这给软件开发人员带来了极大的便利。但在进行服务端开发时,不建议使用Qt类库,因为引入Qt类库将使运行程序的体积变得较大。在进行服务端开发时最好使用软件开发组织自己写的类库或者使用一些比较轻便小巧的第三方跨平台类库,而仅仅把Qt用来制作服务端项目的pro文件。从本节开始,将选择Qt的几个常用类进行讲解。字符串处理是跨平台界面编程时经常碰到的场景,所以本案例介绍Qt的字符串处理类QString。
在使用Qt提供的类时,首先需要引入Qt ..

阅读全文»分类:Qr入门与提高|回复:0|浏览:377
2020-12-24 14:50

本案例对应的源代码目录:src/chapter04/ks04_02。
无论是进行项目研发还是产品研发,都不可避免会碰到重名问题:头文件重名、模块名重名、类或结构体重名、接口重名、全局变量重名等等。对于头文件名重名和模块名重名的情况,软件开发组织需要制定软件研发管理规范进行制度上的约束,而且还要建立专门的组织进行落地管理。解决类重名、接口重名、全局变量重名问题的方法也很简单:使用命名空间进行管理。本节将介绍如何在Qt开发中使用命名空间。
在4.1节介绍了怎样开发一个DLL,本节在4.1节的基础上增加命名空间的使用。一般情况下只为DL ..

阅读全文»分类:Qr入门与提高|回复:0|浏览:373
2020-12-24 14:50

本案例对应的源代码目录:src/chapter04/ks04_01。程序运行效果见图4-1。

图4-1 案例6运行效果
在软件项目开发过程中会不可避免地碰到代码复用问题,比如,在项目A中实现的功能也会在项目B中使用。这时就可以把重复的功能封装到DLL模块中。那么,用Qt怎样开发DLL呢?利用Qt开发DLL,大概分为两大步:封装DLL,使用DLL。
下面介绍具体步骤。
(1)将DLL中引出类的头文件移动到include目录。
(2)在DLL的pro文件中定义宏。
(3)编写DLL引出宏的头文件。
(4)在DLL引出类的头文件中使用引出宏。
(5)在EXE项目中添加对DLL的引用。
(6) ..

阅读全文»分类:Qr入门与提高|回复:0|浏览:342
2020-12-24 14:48

本案例对应的源代码目录:src/chapter03/ks03_01。程序运行效果见图3-1。

图3-1 案例5运行效果
Qt提供的方案其实也很简单:显示文本时调用特定的翻译接口,然后需要开发者提供一个中英文对照的qm文件(二进制翻译文件),最后在程序启动时加载这个翻译文件。下面介绍具体步骤。
(1)在ui界面或代码中使用英文。
(2)在提供翻译的类中编写Q_OBJECT宏。
(3)在pro文件中添加TRANSLATIONS配置。
(4)使用lupdate命令,提取待翻译内容到ts文件。
(5)使用linguist(Qt语言家)在ts文件中添加中英文对照翻译,并导出qm文件。
(6)程序启 ..

阅读全文»分类:Qr入门与提高|回复:0|浏览:380
2020-12-24 14:46

当进行中大型Qt项目研发时,在各个子项目的pro文件中经常会出现重复配置。为了处理这个问题,Qt提供了另外一个项目配置文件:pri文件。在pri文件里,可以编写用于各个子项目的公共变量,还可以配置各种公共的编译选项、配置各种公共路径。本节将以常用关键字(见表2-3)为线索,介绍pri文件的各种用途。
表2-3 pro和pri文件常用关键字
关键字(或关键字类型) 含义 include 在pro中引入某pri文件 环境变量 在pri中使用环境变量 变量 在pri中定义与使用变量 函数 pri中提供的常用函数 unix/win32 用来定义在不同平台下构建项 ..

阅读全文»分类:Qr入门与提高|回复:0|浏览:319
2020-12-24 14:44

前面的章节通过几个案例介绍了pro文件的基本配置,本节来看一下pro文件的一些常用配置。
1.EXE还是DLL---TEMPLATE
用C++语言开发的程序一般有两种存在形式:EXE程序、DLL程序。那么这在Qt中由什么决定呢?现在介绍一下TEMPLATE配置项,该配置项用来确定生成的程序是EXE还是DLL(见表2-1)。
表2-1 TEMPLATE配置项取值说明
配置项内容 说明 TEMPLATE = app 表示本项目生成一个EXE TEMPLATE = lib 表示本项目生成一个DLL TEMPLATE = subdirs 表示本项目将扫描指定的子目录集合并执行相关操作。该配置经常与SUBDIRS配合使用。比如指 ..

阅读全文»分类:Qr入门与提高|回复:0|浏览:322
2019-08-30 17:31

本案例对应的源代码目录:src/chapter02/ks02_03。程序运行效果见图2-21。

图2-21 案例3运行效果
既然要进行界面编程,自然离不开图片。如果认为在按钮上使用文字太枯燥了,那么使用图标是不是会更好呢?本节讨论一下如何在Qt项目中使用图片。
既然要用图片,自然离不开图片文件啦。那么图片在哪里找呢?百度!相信是很多人的第一反应。但是,从网上找到的图片在用Qt进行加载时可能会失败(原因待查,未深究),而且可能导致版权问题。所以,从网上找图片的办法不太靠谱。有规模的软件公司一般都会请专业美工来制作图片,而且这样也不会 ..

阅读全文»分类:Qr入门与提高|回复:0|浏览:527
12

Powered by phpwind v8.7 Certificate Copyright Time now is:04-19 14:08
©2005-2016 QTCN开发网 版权所有 Gzip disabled