您的位置:首页 > 编程语言 > Qt开发

三、Qt入门基础知识

2014-01-15 14:01 190 查看
1、Qt是什么?

Qt是一个多平台的C++图形用户界面应用程序框架。Qt是完全面向对象的很容易扩展,并且允许真正的组件编程。如果你用过java的话,会发现二者很相似,或者说,UI编程比java还简单。

2、Qt版本?

Qt企业版和Qt专业版 提供给商业软件开发。 企业版比专业版多一些扩展模块,比如:OpenGL
三维图形模块和SQL模块


Qt自由版是Qt仅仅为了开发自由和开放源码软件 提供的Unix/X11版本。在Q公共许可证和GNU通用公共许可证 下,它是免费的。

Qt/嵌入式自由版是Qt为了开发自由软件提供的嵌入式版本。 在GNU通用公共许可证下,它是免费的。

3、信号和槽

用于对象间的通讯。信号/槽机制是Qt与 其它工具包的最不相同的部分。

当一个信号被发射,它所连接的槽会被立即执行,就像一个普通函数调用一样。如果几个槽被连接到一个信号,当信号被发射时,这些槽就会被按任意顺序一个
接一个地执行。

比如:

connect(slider, SIGNAL(valueChanged(int)),spinBox, SLOT(setValue(int)));
connect(slider, SIGNAL(valueChanged(int)),this, SLOT(updateStatusBarIndicator(int)));

这样就定义了一个信号对应多个槽,记住,调用顺序是任意的。

另外,可以定义多个信号对应一个槽,也可以定义多个信号对应多个信号,这样子的话,就是一个信号被触发,其它信号也被触发。

4、Qt工具

Qt设计器——可视化地设计视窗

Qt语言学家,lupdate和lrelease——翻译应用程序使之能够进入国际市场,我想起Eclipse+ADT也有类似的,具体是把所有字符(string)放在一起形成一个模块,以后就可以直接翻译成其他语言。

Qt助手——快速地发现你所需要的帮助

qmake——由简单的与平台无关的项目文件生成Makefile

qembed——转换数据,比如把图片转还为C++代码。。这个也许吧,软件工程这门课会告诉你怎么用RationalRose画图(UML,时序图,活动图,然后转成代码)

qvfb——在桌面上运行和测试嵌入式应用程序

makeqpf——为嵌入式设备提供预先做好的字体

moc——元对象编译器

uic——用户界面编译器

qtconfig——一个基于Unix的Qt配置工具

如果你想了解更多又不想看E文的东西,给你一个链接:http://www.kuqin.com/qtdocument/index.html

5、关于对话框和主窗体

作为程序的主窗体,推荐使用QMainWindow,作为对话框才使用QDialog。
MainWindow使用show(),模态对话框使用exec(),非模态对话框用show() 。一般来时,程序主窗体都是QMainWindow, 弹出的对话框的构造函数都是用主窗体作为parent.

searchDialog::searchDialog(QWidget *parent)
: QDialog(parent)


void MyApp::search()
{
//模态对话框
//searchDialog search;
//search.exec();
// 非模态对话框
searchDialog *search = new searchDialog(this);
search->show();
}


如果界面即可能在做独立窗体使用,又可能嵌入到其它界面中,就用QWidget

6、学习

我觉得了解了基础之后,更重要的还是编程,所以根据实例去学API才是王道。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: