简单QT编程的示例

使用你所熟悉的编辑器创建hello.cpp代码如下:

// 包含两个头文件,其中有QApplicaion和QLabel的定义

#include <QApplication>

#include <QLabel>

int main(int argc, char **argv)

{

// 创建QApplication对象用来关联整个应用程序所使用的资源

QApplication app(argc, argv);

// 创建一个QLabel窗口部件(可视化的元素)

QLabel *label = new QLabel("Hello Qt!");

// 让QLabel可见,创建时通常是隐藏的

label->show();

// 将应用程序的控制权传递给QT

return app.exec();

}

1)确认系统是否已经安装4.x版本的QT;

2)把QT的bin目录添加到PATH路径中,编辑/etc/profile文件,在最后添加如下一行代码:

PATH=$PATH:/usr/lib/qt4/bin

3)执行source重新导入环境变量:

source /etc/profile

4)创建一个hello目录:

mkdir hello

5)移动hello.cpp文件到目录中:

mv hello.cpp ./hello

6)进入到hello目录中,执行命令生成一个与平台无关的项目文件hello.pro:

gmake -project

7)执行命令从项目文件生成一个与平台无关的makefile文件:

gmake hello.pro

8)执行make命令编译该程序:make

编译完成后会在该目录下生成一个hello的可执行文件,运行它可以显示Hello Qt!的窗口。

在fedora14下运行Qt程序时出现:

GLib-GIO:ERROR:gdbusconnection.c:2270:initable_init:

assertion failed: (connection->initialization_error == NULL)

原因:在Gnome桌面运行终端,直接su切换到root用户后,在终端用命令行运行QT图形界面的程序,可能会出现上面的提示,这是由于直接使用su切换到root后,root使用的环境变量还是使用执行su命令的普通用户的环境变量。

解决:使用su - 命令来切换到root用户,‘-’参数指示su开启一个登录Shell(login shell)而不是非登录Shell(non-login shell)。这样root读取的是root本身的环境变量,而不是继承自那个输入su命令用户的环境变量。

你可能感兴趣的:(编程)