【Qt】测测你对Qt的了解–Qt工具知多少-阿里云开发者社区

开发者社区> 技术小美> 正文

【Qt】测测你对Qt的了解–Qt工具知多少

简介:
+关注继续查看

你知道Qt都提供了哪些工具吗? 你知道Qt的这些工具都有哪些功能吗? 看看你对Qt的工具到底了解多少呢? 不看不知道,一看保你吓一跳!

一级题目:
Qt Designer — 所见即所得的界面设计工具, 可以用拖拽的方式将控件排布在界面上,支持layout, 支持signal/slot编辑。 生成的文件保存为ui格式, ui是xml格式的普通文本文件, 默认编码为utf8, 所以界面上还可以直接写中文(但是不推荐这么做哦,还是应该用标准的Qt国际化的方法来翻译界面。).

Qt Assistant — 类似MSDN的文档查看工具, 支持html的子集(图片、超链、文本着色), 支持目录结构、关键字索引和全文搜索, 可以很方便的查找Qt的API帮助文档,所以是编程必备、使用率最高的工具。


qmake

– 用于生成Makefile(编译的规则和命令行)的命令行工具。 它是Qt跨平台编译系统的基础。 它的主要特点是可以读取Qt本身的配置, 为程序生成与库一致的Makefile。
Qt Linguist — 被称为Qt语言家的Linguist是用于界面国际化的重要工具, 但其实它并不能帮你翻译,它的主要任务只是读取翻译文件、为翻译人员提供友好的翻译界面。 听起来这个功能好像不太够, 没错! Linguist必须要和其他工具一起用才能完成Qt国际化。 关于国际化可以参考bug写的Qt国际化和本地化。 另外,大家可能还不知道, Linguist工具从4.5开始可以支持Gettext的PO文件格式了哦~

tmake – 和qmake功能一致,是qmake的前身。从Qt3开始tmake全面被qmake替代。

qtdemo – Qt例子和演示程序的加载器, 也可以看作是Qt提供的一个有用的工具。 有了这个工具, 用户可以很方便的查看Qt提供的多姿多彩的例子程序,从中选择自己需要的, 不仅可以看到程序运行的情况,还可以查看源码和文档。

二级题目:
lupdate – Qt国际化的重要命令行工具之一, 它的功能是从源码文件或其他资源文件中提取需要翻译的字符串,并将之用正确的编码和格式存入ts文件中。 这个ts文件是xml格式的普通文本文件, 但不建议用普通的文本编辑工具来编辑, 最好的方法是用Linguist来处理这个文件。

lrelease – Qt国际化的重要命令行工具之一, 它负责将ts文件转化为程序使用的qm文件。 转化过程最大的变化是去掉了原始文件中所有的空白和未翻译的内容, 并将存储格式压缩, 所以qm文件是保留所有有效信息但占用硬盘最少的格式。

uic – UI Compiler, 顾名思义,这个命令行工具是用来编译ui文件的, 它能把ui文件转化为编译器可以识别的标准C++文件, 生成的文件是一个.h。 这个工具通常情况下不需要用户去手动调用, qmake会帮你管理ui文件和调用uic工具。 具体的可以参考笔者的另外一篇帖子 Qt4中ui文件的使用方法。

moc – Meta Object Compiler, 直译过来是元对象编译器, 简单的说这是个预编译工具, 用来生成一些与信号和槽相关的底层代码。 该工具处理带有Q_OBJECT宏的头文件, 生成形如moc_xxx.h, moc_xxx.cpp的C++代码,之后再与程序的代码一同编译。 同样,这个命令行工具也不需要用户手动调用, qmake会在适当的时候调用这个工具的。

三级题目:
后面的题目越来越难了哦~~

rcc – Resource Compiler资源文件编译工具。 Qt的资源系统是自己一套特别的设计, 工程中可以包含后缀为qrc的资源文件, 由rcc工具根据qrc的内容将相关的文件编译为二进制,并与源码编译在一起,保存在应用程序的二进制文件中。 这个命令行工具同样不需要手动调用,由qmake调用。

qconfig – QtEmbedded feature配置工具。 众所周知,嵌入式版本的Qt可以自己定义一个feature定义文件叫qconfig-xxx.h,里面定义一些预定义的宏, 通过这个文件可以在编译阶段去掉一些feature, 以减少Qt库的footprint。 这个qconfig工具就是用来编辑feature定义文件的。 具体的参考笔者的帖子简单Qt裁剪。

qt3to4 – 用于Qt3程序升级为Qt4程序的移植工具。 它的原理是根据xml文件里定义的一系列文本替换的规则去做文本替换, 所以…怎么说呢,这个工具的功能比较有限, 不可避免的需要很多人工干预才能解决编译和运行的错误。 故而笔者的建议还是重头写程序比较靠谱。

qvfb – 一般做嵌入式开发的用户对这个工具应该不陌生。 这是个有几分神奇色彩的模拟器, 它可以模拟framebuffer设备(尺寸、色深),还可以通过skin文件模拟硬件键盘的布局(包括特殊键值的按键), 是在x86环境下调试嵌入式程序必不可少的有效工具。 无怪乎minigui也比较无耻的偷窃了这个工具…实在是诱惑力太大了

四级题目:
qtconfig – X11系统下用于配置Qt环境的工具。 可以设定字体、Style、Palette、打印机等。 设定信息会保存在用户家目录,所以可以按不同用户的喜好来设定不同的值。

qcop – 嵌入式环境qtopia带的进程间通讯的工具, 用于进程间的通讯和进程间API的相互调用。

pixeltool – 类似放大镜的工具,可以看清鼠标滑过的每个像素。

findtr – 从源码提出翻译字串,保存为Linux的po格式。 po是Linux系统下国际化方法gettext使用的标准格式, 所以这个工具是为了和Linux本身的国际化方法兼容而提供的。

uic3 – Qt4中提供的处理Qt3 ui文件的工具,生成的代码是Qt4的代码,可以放在Qt4的工程里使用。 值得注意的是,uic3生成的代码有一部分会使用Qt3Support库的API, 不是纯的Qt4代码。

phonesim – Qtopia里带的奇妙工具, 用于调试手机环境。 可以模拟提供AT命令接口的modem设备。 有了这个工具就可以在桌面环境下调试应用和modem之间的交互逻辑, 简单的说Qtopia里像接打电话、收发短信、STK程序等功能都是靠这个工具来调试的。

makeqpf – Qt为了嵌入式环境的需要自创了一种字体格式叫qpf, 这个格式是个位图字体, 它把已经预渲染的文字直接保存成二进制内容, 使用的时候可以用内存映射加载, 从加载到绘制的过程不需要计算,所以速度非常快。 makeqpf工具就是用来创建qpf格式的字体的,它可以读取系统中的字体格式, 根据用户的设定生成特定字号规格的qpf文件供用户使用。

五级题目:
这些工具我也不熟。。就不多说了。。

lconvert – 4.5版本新引入的工具, 用于翻译文件之间的格式转换, 将ts格式转换为其他工具可读取的XLIFF格式。

qdbusxml2cpp – QtDBus XML编译器, 用于将xml格式的DBus远程调用的对象和函数API的描述文件翻译为C++代码。 这个工具创建的是个代码的框架,里面的API具体实现要用户自己来填充。

D-Bus Viewer — 可以用来查看D-Bus对象及其对外提供的API, 可以通过双击API的方式调用某个方法, 还可以注册信号, 这样所有发出的信号都会显示在窗体中。

IDC – ActiveQt模块提供的命令行工具,用于将Qt二进制转化为COM server。 该工具由qmake调用,不需要手工执行。

dumpcpp – ActiveQt模块的命令行工具, 可以为一个类型库创建C++的命名空间。

dumpdoc – ActiveQt模块的命令行工具,可以为COM对象创建Qt风格的文档。

testcon – ActiveQt模块的命令行工具, 全称为ActiveX Test Container, 也就是可以作为ActiveX控件的容器, 这样可以把控件安装到系统中再测试。 该工具会提供详细的事件和属性变化的log信息。

Qt Script Debugger — 用于调试Qt Script的工具,可以单步运行,查看输出等。 Qt文档里有很详细的一篇专门讲这个的,有兴趣的来看下: Qt Script Debugger Manual

感觉怎么样? 是不是很多工具从来没听说过? 即使如此也毋需沮丧, 这里面的很多工具笔者也是第一次听说。 看看还有没有遗漏的欢迎评论,以便笔者补充。 刚刚加了几个和qtopia有关的工具。。仔细想想其实qtopia的工具还是蛮多的, 应该单独写一篇才对。











本文转sinojelly51CTO博客,原文链接:http://blog.51cto.com/sinojelly/240337,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10098 0
使用NAT网关轻松为单台云服务器设置多个公网IP
在应用中,有时会遇到用户询问如何使单台云服务器具备多个公网IP的问题。 具体如何操作呢,有了NAT网关这个也不是难题。
26797 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10887 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
12078 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
9161 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
11819 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
4670 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
22413 0
+关注
6906
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载