`

linux下的第一个图形(QT)程序HelloWorld(zz)

阅读更多
习惯了windows下的基于GUI的应用程序开发,突然想想linux下该如何开发一个图形应用程序呢?查了查资料,发现QT是个好东西,于是迫不及待的在ubuntu8.04下试了试。

首先呢, 先找到一个教程, 照着教程试试:

http://www.qiliang.net/qt/tutorial1-01.html

不得不说, 这个教程很不错, 讲解比较细致,也容易懂。

接着,开始自己敲代码:

$ mkdir HelloWorld

$ cd HelloWorld

$ vi HelloWorld.cpp

代码内容如下:

// HelloWorld.cpp

#include <qapplication.h>

#include <qpushbutton.h>

int main(int argc, char** argv)

{

    QApplication a(argc, argv);

    QPushButton hello("Hello World!", 0);

    hello.resize(300, 130);

    a.setMainWidget(&hello);

    hello.show();

    return a.exec();

}

代码什么意思我也不说了, 如果你熟悉windows下的图形界面开发, 你会发现这些代码非常容易懂, 而且上面的教程里面对每句代码有很好的解释。

代码敲完了, 开始该编译了吧:

$ qmake -project

令人沮丧的是, 居然不认识qmake,不过有提示:

The program 'qmake' can be found in the following packages:

* libqt4-dev

* qt3-dev-tools

看看上面的提示, 似乎libqt4-dev这个版本比较新呀, 于是作为首先的安装对象:

$ sudo apt-get install libqt4-dev

哇, 速度还真不错, 5分钟就搞定了

重新编译:

$ qmake -project

$ qmake

$ make

g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. -o HelloWorld.o HelloWorld.cpp

HelloWorld.cpp: In function ‘int main(int, char**)’:

HelloWorld.cpp:9: error: ‘class QApplication’ has no member named ‘setMainWidget’

make: *** [HelloWorld.o] Error 1

郁闷呀, 前面2步没问题, 又出问题了, 不过, 不要慌, 看看错误提示先:

HelloWorld.cpp:9: error: ‘class QApplication’ has no member named ‘setMainWidget’

这句似乎比较能说明问题了, 没有这个成员函数, 怎么办? google吧, g.cn回车, 查一查,终于找到问题所在了:

http://www.gidforums.com/t-13690.html

呵呵, 原来是版本的问题, setMainWidget是Qt3的,而在Qt4中,这个函数已经过时了,

于是,For an immediate fix, you can define QT3_SUPPORT:

//

// Define QT3_SUPPORT before including any qt headers

//

#define QT3_SUPPORT

#include <qapplication.h>

#include <qpushbutton.h>

好,加上

#define QT3_SUPPORT

然后重新编译, 哈哈, 成功编译, 发现HelloWorld目录下面多了一些文件, 其中有一个绿色的

HelloWorld, 我想这个应该就是可执行文件了吧, 先不管, 执行一把:

$ ./HelloWorld

哈哈, 爽, 终于出来了:



兴奋一下, 于是写成上文,关于QT编程进一步的知识, 完全可以照着上面的教程去实际操作一下。

下面这篇文章:

http://blog.chinaunix.net/u2/60529/showart_1111263.html

也是一篇入门文章, 看看演练一下也不错。

从上面的例子来看, 这种写法似乎很熟悉, MFC? 呵呵, 好像是的哟, 如果你对MFC很熟悉, 然后网上找一些教程以及查看一下QT的相关文档如:

http://doc.trolltech.com/4.1/classes.html

我想写一些一般的GUI应用程序应该是不成问题的。

  • 大小: 13.4 KB
分享到:
评论

相关推荐

    一个简单的qt版helloworld程序

    本压缩包包含的“一个简单的qt版helloworld程序”是初学者接触Qt编程的一个基础示例,旨在帮助理解Qt的基本语法和项目构建过程。 首先,让我们来理解一下Qt中的"Hello, World!"程序的基本结构。在Qt中,我们通常会...

    QT5.14入门教程GUI(一)第一个QT程序Hello World! -HelloWorld.7z

    QT5.14入门教程GUI(一)第一个QT程序Hello World! QT5.14入门教程GUI(一)第一个QT程序Hello World! QT5.14入门教程GUI(一)第一个QT程序Hello World!

    QT4的HelloWorld程序

    QT4的HelloWorld程序是初学者接触QT框架的典型起点,它通过一个简单的应用程序展示了如何在QT环境中构建和运行代码。QT是一个流行的开源C++图形用户界面库,广泛用于开发跨平台的应用软件,包括Windows、Linux、Mac ...

    1.如何创建QT项目-QTcreator输出HelloWorld

    HelloWorld程序是一个基于Qt框架的简单示例程序,用于展示如何使用Qt进行图形界面编程。这个程序的主要目的是在窗口中显示一个“Hello World”的文本标签。通过学习这个程序,开发者可以了解Qt的基本组件和编程方法...

    Linux下打包发布QT程序,并运行在其他没有安装QT环境或多个QT环境的linux系统上

    在Linux环境下,开发基于Qt的程序后,为了使其能在没有安装Qt环境或者存在多个Qt版本的其他Linux系统上顺利运行,我们需要进行一系列的打包和发布步骤。以下将详细阐述这个过程,包括理解Qt依赖性、静态编译Qt库、...

    在Linux下用Qt设计图形界面应用程序

    在这里,我们完成了第一个 Qt 程序的设计和实现。这个示例程序展示了如何使用 Qt Designer 在 Linux 下设计图形界面应用程序。使用 Qt 开发环境,可以快速地设计和实现图形界面应用程序,提高开发效率。 Qt ...

    linux下QT编写的连接wifi程序

    在Linux环境下,使用QT框架编写连接Wi-Fi的程序是一项实用的技术任务。QT是一个跨平台的C++图形用户界面应用程序开发框架,广泛应用于桌面、移动和嵌入式系统。结合Linux的网络管理工具,如wpa_supplicant或iwconfig...

    Linux下QT 图形界面开发

    QT 是一个功能强大且灵活的图形用户界面库,广泛应用于嵌入式系统、桌面应用程序和移动应用程序等领域。 Linux 下 QT 图形界面开发的应用场景包括: 1. 嵌入式系统开发:使用 QT/Embedded 版本在嵌入式 Linux ...

    Linux下开发图形界面程序的工具QT的简体中文帮助文档

    Qt是一个多平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的很容易扩展,并且允许真正地组件编程。 自从1996年早些时候,Qt进入商业领域,...

    Qt应用程序Hello World例子

    而说到学习任何一种编程语言或框架的基础,"Hello World"程序始终是入门的第一步。它简单、直观,能够让初学者快速了解框架的基本使用方法,同时也为后续学习打下基础。 Qt应用程序的Hello World例子就是这样一个...

    Linux下QT程序解决单例程序

    本资源包含x86 linux下qt程序解决同时只允许运行一个程序实例的库,头文件和使用方法!

    Linux环境下QT4图形界面与MySQL编程_程序源代码

    在Linux环境中,Qt4是一个强大的跨平台应用程序开发框架,它为开发者提供了丰富的API和工具,用于构建优雅且功能丰富的图形用户界面(GUI)。Qt4支持多种操作系统,包括Linux、Windows和Mac OS等,使得开发人员可以...

    flatpak Qt版Hello World

    在"flatpak Qt版Hello World"这个例子中,Qt被用来开发简单的图形用户界面应用程序。 **创建flatpak应用** 1. **设置环境**: 首先,你需要在你的开发环境中安装flatpak和相关的构建工具,如flatpak-builder和...

    qt Hello world程序

    "qt Hello world程序"是一个经典的入门示例,用于帮助开发者快速理解和掌握QT的基本用法。 首先,QT库提供了丰富的组件和API,使得开发者能够构建美观且功能丰富的用户界面。"Hello world"程序则是所有编程语言学习...

    qt程序在linux下发布

    qt程序在linux下发布,特别是QT5的程序发布,解决这个错误,Failed to load platform plugin “xcb”. Available platforms are: Aborted(core dumped)

    《Linux与Qt程序设计》.pdf

    《Linux与Qt程序设计》这本书籍聚焦于Linux操作系统环境下Qt框架的程序设计,是想要从事基于Linux平台的软件开发人员的一本非常有价值的参考书籍。Linux操作系统是一个类Unix系统,以其开源性、稳定性和安全性被广泛...

    基于vs Qt写的简单hello world程序

    在这个场景中,我们将使用Qt库和Visual Studio 2015(VS2015)来创建一个具有图形用户界面(GUI)的"Hello World"程序。Qt是一个功能强大的跨平台C++库,提供了丰富的UI组件和网络、数据库、多媒体等功能,而Visual ...

    Linux与Qt程序设计 高清PDF 第二部分

    名称:《Linux与Qt程序设计 (陈爽) 高清PDF》 包含Linux的概述 常用的命令 Linux系统的配置和安装,涵盖QT基础知识以及QT高级开发,对于初学者或中高级学者都适用。...第一部分:《Linux与Qt程序设计》.part1.rar

    基于嵌入式 Linux 的 Qt图形实战开发 PDF,嵌入式linux开发qt界面,C,C++

    《基于嵌入式 Linux 的 Qt 图形实战开发》是一本专为嵌入式系统开发者、Qt初学者以及科研人员设计的教程。它涵盖了Qt在Linux环境下的应用开发,特别是针对嵌入式硬件如S3C2440的平台。本书旨在帮助读者深入理解和...

Global site tag (gtag.js) - Google Analytics