首页
登录 | 注册

用QTDesigner编写Linux的图形界面程序

来源:赛迪网技术社区    作者:dahai

以前看dansin他们用QtDesigner编写应用程序蛮简单,可是真的没想到,自己要用它写程序的时候竟然折腾了好几天才搞清楚,真后悔当初没有跟他们好好学习一下子。

刚开始需要使用QT编写程序的时候,为了加快学习进度,我就去买了一本关于这个的书,叫做,清华大学出版社的,我这里写这本书不是想为这本书打广告,而是想大大的骂一下这个作者!这本书什么都讲,什么X Windows编程入门,KDE程序设计,就是没有一样管用的,例子确实是很多,就是全部用VI写的,变态!就连500多行的Makefile它也说是用VI敲的,这不是变态是什么.好好的Kdevelop和Qtdesigner竟然一点都不提一下子!不好意思,真的是太激动了,感觉就是白买了一本书。

下面简要介绍一下用QtDesigner编写程序的各个步骤,在这里还要感谢我的好朋友dansin,因为他以前不赖其烦的给我介绍Qt的基础概念,使得我此时不用费心思去了解这些基础知识。

在开始之前,我到公司主页trolltech看了一下子关于这个工具使用的flash教程,简单了解了这个工具的使用.但是这个教程是windows下面的,如何在linux下面搞仍然不是很清楚。

我的Linux是federo的,也就是以前的red hat,安装好的QT是3.1版本的,带有Qtdesigner.我用这个工具照着上面的例子画了个简单的界面,保存之后生成form1.ui,然后就不晓得怎么搞了。

网上有说uic的,有moc的,qmake,tmake,搞得我晕头转向,我uic,moc都试着用了,编辑了pro文件,编辑pro文件用qmake创建makefile到是学会了,就是ui文件生成那几个.h,.cpp和moc文件不晓得怎么搞.我觉得以前dansin没这么复杂啊。

后来看到一篇使用qmake 生成makefile的文章,里面提到可以pro文件里面FORMS增加自己的ui文件,会自动生成对uic和moc的调用,一下子就豁然开朗了,我知道qmake -project可以根据当前目录下面的文件自动生成pro文件的,那么也就是说只要我建立好自己的main函数文件,就可以了.通过查阅资料,我编写了main函数文件:

#include #include #include main(int argc,char *argv[]) { QApplication app(argc,argv); Form1 *fr = new Form1; fr->show(); app.setMainWidget(fr); return app.exec(); }

然后将这个文件保存在跟ui在一起的目录,然后使用,

qmake -project
qmake
make

就可以生成相应的可执行文件了,这个时候,修改ui生成的cpp文件,把里面的槽改成自己的设置,就可以了。


相关文章

  • 现象: linux下C++开发的网络服务器程序,在页面刷新时有时候会出现进程退出的情况.使用gdb调试,发现是系统发送了SIGPIPE信号,导致进程退出的. 规避或解决方法: 最根本的解决办法是提高socket编程recv或send函数的健 ...
  • (一)Linux网络编程--网络知识介绍 Linux网络编程--网络知识介绍 客户端和服务端          网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端.  客户端         在网络程序中, ...
  • Java基础17:Java IO流总结
    这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux.网络.多线程,偶尔讲点Docker.ELK,同时也分享技术干货和学习经验,致力于Ja ...
  • 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-python 是 vinta 发起维护的 Python 资源列表,内容包括:Web 框架.网络爬虫.网络内容提取.模板引擎.数据库. ...
  • 简单的说 Node.js 就是运行在服务端的 JavaScript. Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台. Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的 ...
  • SpreadJS使用进阶指南 - 使用 NPM 管理你的项目
    SpreadJS作为一款性能出众的纯前端电子表格控件,自Excel"数据管理项目中.Node.js库最有力的手段,解决了很多 如今,为让您更方便的使用产品和更好地管理项目中的SpreadJS应用打包发布到了如您需要,请点击查看(需 ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.013 s.
京ICP备10005923号