免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1416 | 回复: 0
打印 上一主题 下一主题

Linux下QT图形界面开发(一)——概述(1) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-12 09:40 |只看该作者 |倒序浏览
一、QT简介
Qt是一个跨平台的C++图形用户界面库,.由挪威TrollTech公司出品,目前包括Qt/X11,基于Frambuffer的Qt Embedded,快速开发工具Qt Designer几国际化工具Qt Linguist等.Qt支持Unix及Linux系统,还支持Windows NT/Windows 2k及Qindows 95/98平台.Qt的良好封装机制使其模块化程度非常高,可重用性较好.
Qt/Embeded是面向嵌入式系统的Qt版本,是Qt的嵌入式Linux窗口,是完整的自包含C++ GUI和基于Linux的嵌入式品台开发工具。Qt/Embeded API可用于多种开发项目。许多基于Qt的X Window程序可以非常方便地移植到嵌入式版本。
下面我们就从实际应用中认识Qt.
二、在终端下编写Qt程序
我们先要介绍在终端窗口编写Qt程序.
打开一个终端,建立一个文件夹,如:mkdir hello
然后进入这个文件夹:cd hello
创建c++文件,vi hello.cpp
在文件中键入下面的代码:
#include
#include
int main(int argc,char *argv[])
{
    QApplication app(argc,argv);
    QLabel *label=new QLabel("Hello Qt!",0);
    app.setMainWidget(label);
    label->show();
    return app.exec();
}
然后我们用qt的工具qmake来生成工程文件:
qmake -project
大家可以用ls查看一下,是不是多了一个名为hello.pro的工程文件.
接下来是生成Makefile文件:
qmake hello.pro
呵呵,ls一下,Makefile终于看到你的.
接下来就是make了,等上一段时间.
运行程序./hello
下面是界面:

下面我们来讲解上面的程序:
   #include
qapplication.h
>
这一行包含了
QApplication
类的定义。在每一个使用Qt的应用程序中都必须使用一个QApplication对象。QApplication管理了各种各样的应用程序的广泛资源,比如默认的字体和光标。
    #include
qpushbutton.h
>
这一行包含了
QPushButton
类的定义。
参考文档
的文件的最上部分提到了使用哪个类就必须包含哪个头文件的说明。
QPushButton是一个经典的图形用户界面按钮,用户可以按下去,也可以放开。它管理自己的观感,就像其它每一个
QWidget
。一个窗口部件就是一个可以处理用户输入和绘制图形的用户界面对象。程序员可以改变它的全部
观感
和它的许多主要的属性(比如颜色),还有这个窗口部件的内容。一个QPushButton可以显示一段文本或者一个
QPixmap

    int main( int argc, char **argv )  
main()函数是程序的入口。几乎在使用Qt的所有情况下,main()只需要在把控制转交给Qt库之前执行一些初始化,然后Qt库通过事件来向程序告知用户的行为。
argc是命令行变量的数量,argv是命令行变量的数组。这是一个C/C++特征。它不是Qt专有的,无论如何Qt需要处理这些变量(请看下面)。
   
QApplication
a( argc, argv );
a是这个程序的
QApplication
。它在这里被创建并且处理这些命令行变量.在任何Qt的窗口系统部件被使用之前创建QApplication对象是必须的。
   
QPushButton
hello( "Hello world!", 0 );
这里,在QApplication之后,接着的是第一个窗口系统代码:一个按钮被创建了。
这个按钮被设置成显示“Hello world!”并且它自己构成了一个窗口(因为在构造函数指定0为它的父窗口,在这个父窗口中按钮被定位)。
    hello.
resize
( 100, 30 );
这个按酒被设置成100像素宽,30像素高(加上窗口系统边框)。在这种情况下,我们不用考虑按钮的位置,并且我们接受默认值。
a.
setMainWidget
( &hello );
这个按钮被选为这个应用程序的主窗口部件。如果用户关闭了主窗口部件,应用程序就退出了。
你不用必须设置一个主窗口部件,但绝大多数程序都有一个。
    hello.
show
();
当你创建一个窗口部件的时候,它是不可见的。你必须调用show()来使它变为可见的。
    return a.
exec
();
这里就是main()把控制转交给Qt,并且当应用程序退出的时候exec()就会返回。
在exec()中,Qt接受并处理用户和系统的事件并且把它们传递给适当的窗口部件。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/22935/showart_380042.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP