博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux下的第一个图形(QT)程序HelloWorld(zz)
阅读量:4172 次
发布时间:2019-05-26

本文共 2200 字,大约阅读时间需要 7 分钟。

习惯了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应用程序应该是不成问题的。

转载地址:http://fgbai.baihongyu.com/

你可能感兴趣的文章
在Eclipse中查看Android源码
查看>>
[转]C语言printf
查看>>
对话周鸿袆:从程序员创业谈起
查看>>
Mysql中下划线问题
查看>>
Xcode 11 报错,提示libstdc++.6 缺失,解决方案
查看>>
vue项目打包后无法运行报错空白页面
查看>>
1136 . 欧拉函数
查看>>
面试题:强制类型转换
查看>>
Decorator模式
查看>>
Template模式
查看>>
Observer模式
查看>>
高性能服务器设计
查看>>
图文介绍openLDAP在windows上的安装配置
查看>>
Pentaho BI开源报表系统
查看>>
Pentaho 开发: 在eclipse中构建Pentaho BI Server工程
查看>>
android中SharedPreferences的简单例子
查看>>
android中使用TextView来显示某个网址的内容,使用<ScrollView>来生成下拉列表框
查看>>
andorid里关于wifi的分析
查看>>
Hibernate和IBatis对比
查看>>
Spring MVC 教程,快速入门,深入分析
查看>>