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的工具还是蛮多的, 应该单独写一篇才对。
http://www.cnblogs.com/bingcaihuang/archive/2011/01/30/1947896.html
Qt工具知多少(一目了然)的更多相关文章
- 【Qt】测测你对Qt的了解–Qt工具知多少
原文:http://blog.163.com/lijiji_1515/blog/static/1268774462009103101944455/ 你知道Qt都提供了哪些工具吗? 你知道Qt的 ...
- Qt工具知多少
一级题目: Qt Designer — 所见即所得的界面设计工具, 可以用拖拽的方式将控件排布在界面上,支持layout, 支持signal/slot编辑. 生成的文件保存为ui格式, ui是xml格 ...
- qt 工具下的dump工具导出文档出现异常解决方案
今天一直认为qt环境下的dumpcpp 和dumpdoc两个导出工具很好用,可以今天在导出MSChart组件的类方法文档时,虽然导出成功了,但是导出的结果却是令人失望.自己也不知道如何能够正确导出,就 ...
- 迁移到MSYS2 与 Qt 工具链注意的几个事情(注意链接顺序,并且人造mingw工具链所没有的局部midl.exe命令)
Microsoft Visual Studio 2015社区版提供了强大的开发体验,且 Qt 提供了预编译版本.然而,由于客户提出兼容Windows XP ~ Windows 8.1 这样宽泛的环境要 ...
- 迁移到MSYS2 与 Qt 工具链注意的几个事情(g++在链接时,符号依赖项查找遵循从左至右的顺序,但qmake会自动合并造成错误。使用脚本给Mingw32-make创造出一个局部的VC编译环境)
Microsoft Visual Studio 2015社区版提供了强大的开发体验,且 Qt 提供了预编译版本.然而,由于客户提出兼容Windows XP ~ Windows 8.1 这样宽泛的环境要 ...
- [工具] 知网(CNKI)文献下载工具
https://github.com/amyhaber/cnki-downloader 用于免费搜索,下载CNKI上的各类文献资料
- QT树莓派交叉编译环开发环境搭建(附多个exe工具下载链接)
前两天入手了一块2.8’的tft液晶显示屏,于是和树莓派连了一发,成功将命令行显示在了这块小的可怜的屏幕上之后,觉得这屏幕就显示个黑白内容太浪费了,于是考虑开发一个”脸”(图形用户界面,GUI).首先 ...
- X11,GTK,QT,GNOME的区别与联系(UI工具总结)
1,X11是X Window System Protocol, Version 11(RFC1013),是X server和X client之间的通信协议.X server是xfree86/xorg驱 ...
- 认识一下Qt用到的开发工具
http://c.biancheng.net/view/3868.html Qt 不是凭空产生的,它是基于现有工具链打造而成的,它所使用的编译器.链接器.调试器等都不是自己的,Qt 官方只是开发了上层 ...
随机推荐
- 启动TOMCAT报错 java.util.zip.ZipException: invalid LOC header (bad signature)
报错信息大致如下所示: at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect. ...
- mysql的常用函数
原文地址参考:http://www.cnblogs.com/ringwang/archive/2008/07/05/1236292.html 1. 控制流函数 1.1 IFNULL(expr1,ex ...
- BZOJ 1067 & Interval_Tree
1067: [SCOI2007]降雨量 Time Limit: 1 Sec Memory Limit: 162 MB Submit: 3099 Solved: 800 Description 我们常常 ...
- web farm 讨论引出
关于web farm 有成功的实施的文档没 用它还不如 用nginx,简单易用. Nginx for windows的运行效果咋样 windows iis无敌 玩nginx就不要用win系统,必须l ...
- MongoDB的安装与CRUD(JAVA)
http://blogread.cn/it/article/4348?f=wb (MongoDB) 安装: 1)下载MongoDB数据库(这里使用Windows 32 bit版) http://dow ...
- oracle系列--第一篇 数据库基础
第一章 数据库基础 1.1 数据管理概述 1.1.1 什么是数据管理 与我们人类相比,计算机的最大优势就是能够高速.精准地运行,其运行的过程就是执行程序代码和操作指令.处理数据的过程.可以说,数据处理 ...
- Area Under roc Curve(AUC)
AUC是一种用来度量分类模型好坏的一个标准. ROC分析是从医疗分析领域引入了一种新的分类模型performance评判方法. ROC的全名叫做Receiver Operating Character ...
- 《GK101任意波发生器》升级固件发布(版本:1.0.2build627)
一.固件说明: 硬件版本:0,logic.3 固件版本:1.0.2.build672 编译日期:2014-12-29 ====================================== 二. ...
- Scrum会议3(Beta版本)
组名:天天向上 组长:王森 组员:张政.张金生.林莉.胡丽娜 代码地址:HTTPS:https://git.coding.net/jx8zjs/llk.git SSH:git@git.coding.n ...
- panel,dialog,window组件越界问题汇总
之前分别写过panel,dialog,window三个组件因为拖曳或者reSize造成组件越界而无法还原的问题,两篇文章分别针对拖曳和reSize给出了解决方案.不过根据朋友的反馈,reSize的解决 ...