qt学习笔记(一) qt入门

临时要做一个qt的项目,所以尽快熟悉qt开发,在这里记录自己的学习过程@ghostyu

       安装qtcreator,我用版本是基于qt4.7.0,完整的版本名是:qt-sdk-linux-x86-opensource-2010.05.1,因为我是用于学习qt4.6.3,所以最好选择这个版本的sdk,如果从nokiaqt官网上下的最新班的sdk,编译基于mini2440的qt程序总会出现许多莫名奇妙的问题,解决这些问题是需要时间的,我觉得这个时间浪费的很不值得。

       (一)看一个最简单的qt程序:hello.cpp,依旧是helloword

#include <QApplication>

#include <QLabel>

 

int main(int argc,char * argv[])

{

        QApplicationapp(argc,argv);

        QLabel*label = new QLabel("helloword,i am ghostyu");

        label->show();

        returnapp.exec();

}

被hello.cpp新建一个文件夹hello,然后

$cd hello

$qmake -project

这个命令式产生hello的project文件,ls后你会发现,多了一个hello.pro,然后

$qmake hellp.pro

$make

这样就构建好了helloword程序啦

$./hello

运行后出现

 

qt是如此的灵活,以至于任意窗口部件都可以用作窗口,本例中QLabel作为应用程序的窗口的。

#include <QApplication>

#include <QLabel>

头文件,不用多说

QApplication app(argc,argv);

创建一个QApplication的对象,用来管理应用程序所用到的资源,这个QApplication需要两个参数,分别是argc,argv,因为qt支持它自己的一些命令行参数。

QLabel *label = newQLabel("helloword,i am ghostyu");

创建一个label窗口部件,不用多说,c++执行new操作,在堆中创建的label指针,注意程序中的*label最后并为通过delete销毁,程序退出后,由操作系统收回堆内存。

label->show();

调用显示方法。

return app.exec();

将应用程序的控制权传递给qt,此时,程序会进入时间循环状态,这是一种等待模式,等待用户的动作。

 

       (二)将用户事件与窗口部件建立联系,以相应用户动作

#include <QApplication>

#include <QLabel>

#include <QPushButton>

 

int main(int argc,char *argv[])

{

        QApplicationapp(argc,argv);

        QPushButton*button = new QPushButton("quit");

        QObject::connect(button,SIGNAL(clicked()),&app,SLOT(quit()));

        button->show();

        returnapp.exec();

}


$make

$./hello

运行结果如图,单击按钮quit后程序退出。

 

 


展开阅读全文

没有更多推荐了,返回首页