[C/C++][界面][Qt]windows底下实现第一个Qt界面编程的demo[1]
来源:互联网 发布:万网 域名维护费用 编辑:程序博客网 时间:2024/05/01 14:34
KILLU
前一阵子耍了一下wxWidgets和GTK+,当然我都是在windows底下的VS2008平台上写程序的。当初曾想如果界面的每行代码都是自己写出来的,会不会很有成就感呢?现在有答案了:成就感是有,可是写个界面花的时间太多了,得不偿失啊。也可能新手的缘故,新东西用起来都还很木。
wxWidgets在windows底下是原生的,默认界面就比较好看。他的代码是C++的,每个组件(就是按钮、输入框这些东西)都是用类来表达的,还有一堆必不可少的宏,特别是用来连接事件。不知怎的,刚用的时候看wxWidgets的demo的代码就是觉得乱啊,可能受当时心情的影响。玩了一下就转去GTK+了,GTK+都是用C实现的,少了类啊宏啊的,看起来是清晰多了,就这样用了一阵子,写了几个程序。但是到了要美化的时候,又犯愁了,网上说的基本上通过改gtkrc文件来设置字体颜色等的,可我怎么弄都不出效果,也没看到在windows底下是怎么弄的,都有跑去Ubuntu上弄的冲动了。实在无法忍受难看的界面和考虑到不该在界面上花太多时间,再加上不想用MKC,我再次考虑Qt。之前因为Qt的版权好像有一点限制,没有考虑,现在想想算了,好东西还是要学学,反正我现在也不用考虑什么商业化的,好用就行。
还有一个用Qt的原因是:我想回到过去用拖拉组件的方式做窗口的年代(C++ Builder我编程入门使用的平台,本科),因为这样的确直观方便省时间(为了美观,我常常会花很多时间去调整布局和组件属性,太爱美也不好是吧,^_^)。好,Qt提供了一个很好的专门设计窗口的工具Qt Designer,于是我就开始享受它的功能了。
参照这本《C++ GUI Promgramming with Qt 4》电子书(后简称《Qt4》)开始了我的第一个demo。
有时候完全按照书上说的不一定能得到想要,再说系统或平台不一样的话就更难预料了。
书上的Hello Qt就不多说了,直接放个代码。
1 #include <QApplication>
2 #include <QLabel>
3 int main(int argc, char *argv[])
4 {
5 QApplication app(argc, argv);
6 QLabel *label = new QLabel("<h2><i>Hello</i> ""<font color=red>Qt!</font></h2>");
7 label->show();
8 return app.exec();
9 }
类似<h2>和</h2>的这些东西是设置它们之间字符的字体和颜色的。输出如下:
接下来我就直接开始用Qt Designer了。
照着书上的做,很快就是设计好了一个dialog界面。Qt Designer预览如下:
设计好后保存文件到工程目录底下,取名gotocelldialog.ui。我用cmake建了一个Qt_test的工程,加上刚才的这个文件,目前就有三个文件了:CMakeList.txt、gotocelldialog.ui和main.cxx,main.cxx还是空的。
gotocelldialog.ui文件在我们VS2008建的工程里是不能直接使用的,首先要用它生成h文件。windows底下的过程如下:
1. 运行CMD,把当前目录移到工程目录底下;
2. 输入uic gotocelldialog.ui -o ui_gotocelldialog.h回车产生ui_gotocelldialog.h文件。当然如果不写-o ui_gotocelldialog.h它是不会产生h文件的,只是在CMD里显示一下。
windows下就这么简单,《Qt4》上的qmake操作在这里是不需要的。
现在用cmake编译一下,将main.cxx和ui_gotocelldialog.h加入工程,main.cxx加入代码如下:
1 #include <QApplication>
2 #include <QDialog>
3 #include "ui_gotocelldialog.h"
4 int main(int argc, char *argv[])
5 {
6 QApplication app(argc, argv);
7 Ui::GoToCellDialog ui;
8 QDialog *dialog = new QDialog;
9 ui.setupUi(dialog);
10 dialog->show();
11 return app.exec();
12 }
编译通过,运行,显示窗口如下:
是不是跟前面Qt Designer预览的一样,只是主窗口logo不一样了!
这里就先讲这么多,其实还有很多事情要干呢,还没给窗口加事件功能呢。。。。。。
- [C/C++][界面][Qt]windows底下实现第一个Qt界面编程的demo[1]
- [C/C++] [VS2008] [Qt] [CMake]实现CMM主窗口界面
- 呵呵 我的第一个QT界面程序~
- 为什么 qt 成为 c++ 界面编程的第一选择?
- 为什么 qt 成为 c++ 界面编程的第一选择?
- qt利用QT designer构建第一个界面helloworld工程
- qt编程修改windows登陆界面时遇到的问题
- Qt界面编程积累
- Qt多界面编程
- 计算器-QT界面编程
- qt界面编程入门
- 【QT】:QT实现登录界面
- 关于c与qt界面连接的思路,--工作总结
- QT实现登陆界面
- QT实现QQ界面
- Qt 登陆界面实现
- QT之多个界面的弹出
- 第一个带界面的Windows程序
- 使用WORD时,出错,提示:检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败解决方法
- Eclipse插件的安装和使用
- 验证文本框只能输入数字
- java中堆(heap)和堆栈(stack)有什么区别
- JavaScript事件监听进阶两实例
- [C/C++][界面][Qt]windows底下实现第一个Qt界面编程的demo[1]
- Oracle中图片的读写
- power designer 12.5下载和破解方法
- 用一张日落照片估算出地球的半径
- vmware 下 ubuntu 全屏显示
- 清除.svn文件夹
- jquery的窗口控制脚本(ZT)
- C#如何获得设备Mac地址
- 列表