lucious 发表于 2015-9-10 12:20

初探QT编程(二)

上次讲了如何通过控件拖放来完成一个简单的计算圆面积的程序,这样一个例子。这次,我们换一种方法来完成这个程序。即,用代码的方式来创建窗口。
前一种类似MFC和易语言,后一种类似通常意义上的C窗口创建以及黑月。
下面进入正题,新建一个叫“HelloWord2”的项目,把“创建界面”这个选项的勾去掉,其余不变。

我们需要这样一个界面:


双击“dialog.h”进入代码编辑页面,添加如下代码:


我们每用到一个控件就要在头文件中包含他那个类的头文件,然后在“dialog”这个类中定义私有成员变量。


同时要注意的是在QT中有一个新的私有成员类型叫做“private slots”,即“信号槽”。这是QT的特性,以后会详细说明。


定义这个“showArea()”用来响应发出的信号,执行函数。
双击“dialog.cpp”来编写我们的函数实现。

“clicked()”和“textChanged(QString)”表示不同的信号类型,前者响应“按钮被单击”这个信号,后者响应“编辑框中的文本被改变”这个信号。另外的,一个槽可以响应多个信号,一个信号也可以发给多个槽。所以QT的这种机制大大地增加了灵活性。
   QGridLayout *mainLayout=new QGridLayout(this);这句代码表示创建一个页面布局文件,用来固定控件的位置:

下面是计算圆面积的实现:

编译后的效果图:
我要提醒大家的是,学习QT你必须有一定的C++基础而不是C语言基础,因为,QT的全部特性都是基于C++的类以及与其相关的所有概念。如果你对C++熟悉的话上手QT应该是一件容易的事情。
下次讲探索QT中的字符串类型“QString”,展示它的特性和用法。


LYQingYe 发表于 2015-9-10 12:40

即使在学C++ 但也顶一下{:5_121:} 思路最重要

Aniz 发表于 2015-9-10 15:43

学习学习{:5_116:}

西瓜先森° 发表于 2015-9-11 09:29

QT是新语言么???

gujin162 发表于 2015-9-11 10:29


楼主威武,不错额

小七烤地瓜 发表于 2015-9-11 11:08

小菜前来膜拜

哎呦呦 发表于 2015-9-11 16:12

没c那来c++
页: [1]
查看完整版本: 初探QT编程(二)