按照习惯,学习一个库,一般从写一个Hello World程序开始,在上篇中我们已经在库的安装目录里看到了这样的例子,但是那个例子只有一个button,过于简单了,甚至不能算是一个完整的窗体程序,为了比较深切的体会Qt编程的方式和思想,我们有必要自己写一个相对比较复杂的Hello程序,我们的程序里应该有一个面板里面放置两个控件(一个无事件控件,和一个有事件控件)来组成我们的程序,对于一个事件驱动的程序来说,这样体验才算是比较完整的,ok,首先,我们可以在上一个程序的基础上进行扩展,qt的类名字都很直观,使得我们不需要借助手册,就可以猜到一些控件的类名(真的不知道可以打开Assistant查询), 于是一个程序转眼便敲入了,
编码:
代码如下:
#include <QApplication.h>
#include <QLabel.h>
#include <QWidget>
#include <QFont>
#include <QPushButton.h>
int main(int argc,char* argv[])
{
QApplication app(argc,argv);
QWidget winform; //作为一个主窗体
QLabel label("<h1 style='color:blue'>Hello, QT</h1>",
&winform); // Label 显示hello信息
QPushButton button("OK", &winform); // 退出窗体按钮
winform.resize(200,150); //设置大小
label.resize(200,100);
button.setGeometry(10, 100, 150, 40);
button.setFont(QFont("宋体",10, QFont::Bold)); //设置字体
label.setAlignment(Qt::AlignCenter);
// 设置事件关联
QObject::connect(&button, SIGNAL(clicked()), &app, SLOT(quit()));
winform.show();
return app.exec();
}
这里大概只有几点需要说明:
1。这里的头文件和所用的类几乎是一一对应的,因此很容易理解。
2。任何一个Qt程序都得从一个叫QApplication的类对象开始,他引入来自入口函数main的参数,返回成员函数exec()的运行结果。
3。可以用于面板的控件有很多,就我们这样的需求,一个QWidget足够了。
4。QObject::connect(&button, SIGNAL(clicked()), &app, SLOT(quit()));这句代码确定了button控件需要响应的单击(click)事件和事件的处理函数(quit())的关联。
编译:
OK,编码完成,保存为一个cpp文件(比如Qhello.cpp)到一个临时目录下(比如E:\tmp\),然后打开我们的命令行环境,进入这个临时目录,首先,要建立一个Qt工程文件,输入命令qmake -project 回车后我们得到一个名叫qt.pro的工程文件,接着我们要建立makefile文件(这个文件会设定好每一个编译选项,以方便我们后来的编译),继续输入命令qmake,这样我们就在该目录下看到了三个makefile文件:
Makefile.Debug:编译Debug版(即带Debug信息的版本,一般用于测试和调试)的编译选项。
Makefile.Release:编译Release版(即不带Debug信息的版本,一般用于产品的发布)的编译选项。
Makefile :上面两个文件的总聚合器,他用于直接响应make命令。
最后在命令行里输入make命令,编译该工程,该工程默认生成的是Debug版程序,你可以在debug子目录下找到,如果需要更改源码,改完后,重新make就可以了,如果没有加入新文件,无需更改makefile和工程文件。如果确定可以发布,可以输入make release命令来生成Release版本(在Release子目录下)。
运行结果:
<!---->
Technorati : c++,gui,Qt
分享到:
相关推荐
现代OpenGL+Qt学习笔记之二:程序框架http://blog.csdn.net/chaojiwudixiaofeixia/article/details/77917697源码。
《Qt Creator快速入门》这本书主要面向初学者,旨在帮助读者快速掌握Qt Creator的基本操作和Qt编程的基础知识。书中的内容可能包括创建新项目、设计GUI界面、编写和编译代码、调试程序等基本步骤。通过学习,读者...
在入门篇中,读者将学习如何配置和搭建Qt开发环境,这是开始Qt编程的第一步。这一部分会涵盖以下内容: 1. **了解Qt**:介绍Qt的历史、特点和应用领域,让读者对Qt有一个整体的认识。 2. **系统需求**:阐述支持Qt...
QT学习手册,初学者入门! 1
1. QT 对象模型:QT 的对象模型是 QT 的核心概念之一,定义了 QT 对象的创建、继承和管理机制。 2. 信号和槽机制:QT 的信号和槽机制是一种事件驱动机制,允许不同的 QT 对象之间进行通信和交互。 3. QT 设计器:QT ...
Qt 嵌入式图形开发(入门篇) Qt 嵌入式图形开发是一种基于 Qt 的嵌入式图形开发技术,适用于开发嵌入式系统中的图形用户界面。该技术基于 Qt 框架,提供了一个强大的开发环境,能够快速构建高质量的图形用户界面。...
QT学习之路2+QT5教程+范例这个资料集合,显然是为了帮助初学者快速掌握QT开发技能,通过实例来深化理解。 首先,让我们关注《QT5教程 完整版.pdf》。这份文档应该详尽地介绍了QT5的各个方面,包括QT5的基础概念、...
在"QT学习入门指南"中,你将了解到以下核心知识点: 1. **QT简介**:了解QT的历史、发展和它的主要特点,包括其面向对象的设计、丰富的库支持和强大的跨平台能力。 2. **安装与环境配置**:讲解如何在不同的操作...
QT学习-知识整理(入门篇) QT是一种跨平台的应用程序开发框架,由Trolltech公司(现为Nokia的一部分)创建,现在由The Qt Company维护并开源。它使用C++语言编写,允许开发者构建功能丰富的桌面、移动和嵌入式应用...
### Qt学习之路:入门经典详解 #### 一、Qt概览与优势 Qt是一个功能全面且强大的跨平台C++库,不仅限于图形用户界面(GUI)的开发,它还提供了数据库连接、网络通信、XML解析等多种功能,几乎覆盖了应用程序开发的...
【QT学习之路(入门指导)】是一篇针对初学者的QT框架学习指南。QT是一个功能强大的C++库,尤其在GUI编程领域具有广泛的应用。它不仅提供了丰富的图形用户界面组件,还包含了数据处理、网络通信等多种功能,几乎可以...
《QT学习之路2-2020整理版》是一份详尽的QT开发教程,涵盖了从基础到进阶的多个方面。这份资料基于豆子大佬的博客内容进行整理,不仅包含原有的79章,还增加了豆子在2016年3月11日后更新的15章内容,共计94章,旨在...
在本文中,我们将深入探讨"Qt嵌入式图形开发(入门篇)"这一主题,这是针对初学者的一个宝贵资源,旨在帮助他们踏入QT嵌入式开发的领域。Qt是一个跨平台的应用程序开发框架,广泛用于创建桌面、移动以及嵌入式设备上的...
1、新手上路,官方教程 2、qt学习之路1-18 3、进阶学习 4、深入理解qt
通过"QT学习入门"和"QT5开发及实例"的学习,开发者不仅可以掌握QT的基础知识,还能进一步提升在QT5框架下的应用开发能力,为构建高质量、跨平台的应用程序打下坚实基础。结合PDF说明和代码调试,学习效果将更为显著...
本篇文章将详细介绍Qt学习的路径,从入门到精通,其中涉及的内容包括Qt的基本概念、编程方法、以及如何高效学习。 ### Qt基础知识及学习资源 首先,要学习Qt,了解C++语言是基本要求。C++作为Qt的底层编程语言,...
Qt是一个广泛使用的C++应用程序框架,它...总体来说,《Qt学习之路2》作为一本入门教程,不仅为读者提供了Qt编程的基础知识,还根据Qt的发展现状,适时地加入了Qt5的新特性和改进点,使之成为一本全面而实用的教程。
Qt学习之路 Qt是一个功能强大且流行的跨平台应用程序开发框架,提供了丰富的类库和工具,可以轻松地创建桌面应用程序、移动应用程序和嵌入式系统。下面是Qt学习之路的详细知识点: 一、Hello Qt! Hello Qt!是Qt中...
Qt 学习经典入门实例 Qt 是一个跨平台的应用程序开发框架,由 Nokia 公司开发,主要用于开发 GUI 程序。Qt Designer 是 Qt 中的一个重要组件,用于设计和构建图形用户界面。 Qt 学习经典入门实例 本文将通过一...
本讲座的"QT入门学习PPT"是专为初学者设计的教程,旨在帮助初学者快速理解和掌握QT的基本概念和核心功能。 首先,QT的学习需要了解其基本架构。QT基于C++语言,提供了丰富的类库,包括窗口管理、图形绘制、网络通信...