Linux 版 (精华区)
发信人: tcpip (高级草包), 信区: Linux
标 题: Qt tutorial 1-----"Hello World"
发信站: 紫 丁 香 (Fri May 5 19:48:41 2000) WWW-POST
Subject Qt tutorial 1-----"Hello World"
Posted by kensou
Posted on 5/2/2000 6:45 PM
第一章: Hello, World!
第一个程序是非常简单的hello-world例程.它仅仅包含了可以使Qt程序能正常运行的最小
的部分.上面的图象是本例程的快照.
/****************************************************************
**
** Qt tutorial 1
**
****************************************************************/
#include
#include
int main( int argc, char **argv )
{
QApplication a( argc, argv );
QPushButton hello( "Hello world!" );
hello.resize( 100, 30 );
a.setMainWidget( &hello );
hello.show();
return a.exec();
}
代码逐行解释
#include
这一行包含了QApplication的定义.每一个Qt程序都必须有一个QApplicate对象.
QApplication管理应用程序广泛应用的资源,例如缺省的字体和光标.
#include
这一行定义了QPushButton类的定义.当你要使用某个类时, 参考文档会告诉你需要包含那
个头文件.
QPushButton是一个经典的图形按钮类,它可以被按下或释放,并且它可以控制自己的外观,
如同其它的控件.控件是一些可以处理用户输入和绘图的图形对象.程序员可以改变它们的
外观与feel, 和一些诸如颜色,控件的内含等显示属性.QPushButton还可以显示其他的文
本或 位图.
int main( int argc, char **argv )
{
main()函数是程序的入口.在使用Qt时,main()只是在把控制交给Qt库之前做一些初始化的
工作.
argc是命令行参数的数目,argv是命令参数的数组.这并不是Qt 特有的,而是C++的特点,但
是,Qt需要处理这些参数(详情见下面的介绍).
QApplication a( argc, argv );
a是本程序的QApplication对象,它被创建的目的是处理一些命令参数(例如X11下的
-display).注意,所有能被Qt识别的参数会被从argv中除去(argc 也会相应的减小为留下
的参数的数目).详情见QApplication::argv() 文档.
注意:在使用任何Qt窗口系统之前,QApplication对象必须被创建.
QPushButton hello( "Hello world!" );
这里,在QApplication对象创建之后,进入第一句窗口代码:创建一个按钮.
使此按钮显示文本"Hello world!",并且它只属于本按钮自身(因为构造函数中并没有指明
这个按钮应属于哪个控件).
hello.resize( 100, 30 );
设置按钮的大小是100X30象素.在本例程中我们并不关心按钮的位置,只是使用了缺省的数
值.
a.setMainWidget( &hello );
应用程序设定hello按钮为主控件,当主控件关闭后,程序退出.
主控件不是必需的,但大部分程序都有一个主控件.
hello.show();
一个控件被创建后是不可见的,你必须调用show()函数使之可见.
return a.exec();
在这里,main()将控制权交给Qt,当应用程序退出时exec()将返回.
在 exec()执行期间,Qt接收并处理用户的系统事件并且在可见控件上表现出来.
}
程序行为
现在你可以尝试编译并 运行 本程序.
当你运行它时,你会看到一个只有一个按钮的窗口,上面是那句经典的名言"Hello
World!".
练习
试着改变窗口的尺寸.按下按钮.如果你是在X11下运行本程序,不妨用 -geometry参数在命
令行中运行它.(例如: -geometry 100X200+10+20)
下面我们进入第二章
[下一章] [教程目录]
--
"这一千多年没写诗了?"
"写了, 不过只写了两句."
"千年得两句, 一定是万古丽句了. 念来听听."
"好吧, 我现丑了" 太白星清了清嗓子, 浑厚的男中音在天庭响起:
大海啊, 都是水;
骏马啊, 四条腿;
※ 来源:·紫 丁 香 bbs.hit.edu.cn·[FROM: freesrc.hit.edu]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.303毫秒