QT自学过程记录(5-1):用dialog库、ui界面实现计算圆面积

1 目录及资源索引

  QT自学过程目录及资源索引

2 项目需求

  1. 有一个图形化的窗口界面;
  2. 有半径、面积等窗口部件;
  3. 输入半径可以自动计算面积等;

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 总结

  1. 过程不够熟练,参考了例程源码才勉强写出来;
  2. 原本有一个计算按钮的,但是我按照教程写出来后,发现没用,就先去掉了;
  3. 这样可以快速的编写一个界面,但是不利于了解底层实现逻辑等,下次在深入一点;
  4. 有兴趣的可以私信加我好友,共同学习交流!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FightingBoom

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值