1 目录及资源索引
2 项目需求
- 有一个图形化的窗口界面;
- 有半径、面积等窗口部件;
- 输入半径可以自动计算面积等;
3 软件开发
3.1 创建工程
- 打开QT Creator,点击New Project,新建工程
- 创建一个桌面QT应用
- 填写创建的工程名,然后选择保存路径,下一步
- 选择编译器,我这只装了这一个,因此就用默认的,然后下一步
- 选中QDialog这个基类;
- 然后可以自定义类名,便于区分;
- 勾选创建界面后边的小框,然后下一步
- 创建好的目录结构如下
3.2 需求实现
- 双击mydialog.ui 打开UI界面,如下(这个工程是我验证过的,因此可以忽略内容,按步骤来)
- 在左侧找到 Display Widgets 这个框,然后用鼠标左键选中 Label,依次拖拽三个到右侧界面中,这三个其实是三个文本框(在右侧框可以看到内容提示)。
- 然后需要一个输入半径值的框,找到左侧的 Input Widgets,然后拖拽一个 Line Edit 到右侧界面,待会要在这个里边输入半径。
- 接下来需要调整一下界面排版,可以自己挪动位置,也可以直接使用快捷键,快捷键位置如下,可以都试试看是什么功能,鼠标悬停一会,也会有提示
- 下边要修改一下刚刚添加控件的文本,按照图示修改为对应文本, 然后删除到第三个文本框的内容,等会要用来显示面积,
- 设置第三个文本框的属性:鼠标左键选中,然后在右侧会有详细属性,修改下图对应项;目的是为了让显示面积的文本框不能被更改,类似于一个固定的默认窗口
- 然后需要修改一下这几个控件在类中的对象名,等会要用在函数中,类似于函数名,修改位置在右上角;修改方法是:依次选中左边的控件,对应右边高亮的位置修改为表格内容。修改完毕后保存。
- 此时要添加一个槽函数,用来检测半径框是否有内容输入,这样才能实现自动计算面积。选中左侧界面半径输入区域,右键,选择转到槽,然后选择 textChanged(QString) ,OK。
- 然后会跳转到一个函数内部,可以看到这个函数名,代表的大概意思就是半径输入框,字符串内容发生改变,就会执行下边的语句
- 先在此文件开始写一个PI的宏定义,不然没法用,数值大小可以自己定义
const static double PI = 3.14159;
- 在此函数内部添加如下内容,用来实现计算面积
bool ok;
QString tempStr;
QString valueStr = ui->radiusLineEdit->text();
int valueInt = valueStr.toInt(&ok);
double area = valueInt * valueInt * PI;
ui->areaLabel_2->setText(tempStr.setNum(area));
- 接下来就可以编译执行啦
- 运行界面如下,大功告成!哈哈,开心
4 总结
- 过程不够熟练,参考了例程源码才勉强写出来;
- 原本有一个计算按钮的,但是我按照教程写出来后,发现没用,就先去掉了;
- 这样可以快速的编写一个界面,但是不利于了解底层实现逻辑等,下次在深入一点;
- 有兴趣的可以私信加我好友,共同学习交流!