几何图形面积计算器设计与实现
#include 'widget.h'
#include
//h->addWidget(ps);
h->addWidget(ps1);
h->setAlignment( Qt::AlignRight);
//把右侧的放入垂直
c->addWidget(c1);
c->addLayout(h);
//w.show();
//使用Qt界面类创建层叠
Form1 *d=new Form1;
Form2 *d1=new Form2;
Form3 *d2=new Form3;
c1->addWidget(d);//加入层叠
c1->addWidget(d1);
c1->addWidget(d2);
QObject::connect(b,&QListWidget::currentRowChanged,c1,&QStackedWidget::setCurrentIndex);
a1->show();
return a.exec();
} #include 'form2.h' #include 'ui_form2.h'
Form2::Form2(QWidget *parent) : QWidget(parent), ui(new Ui::Form2) { ui->setupUi(this); }
Form2::~Form2() { delete ui; }
void Form2::on_pushButton_clicked() { double a = ui->lineEdit->text().toDouble(); // 获取lineEdit中的值,并转换为double类型 double b = ui->lineEdit_2->text().toDouble(); double d= a*b; ui->label_5->setText(QString('%1').arg(d)); // 将计算结果设置到label上 }
void Form2::on_pushButton_2_clicked() { ui->lineEdit->setText(''); ui->lineEdit_2->setText(''); ui->label_5->setText(''); } 一、考查主题 几何图形面积计算器的设计与实现 二、考查要求 创建一个Widget类界面,用于设计几何图形面积计算,要求至少包含三种几何图形。最外层是一个分割窗体QSplitter,分割窗体左侧是一个QListWidget,用来显示几何图形列表;右侧是一个QVBoxLayout布局,此布局包括一个堆栈窗体QStackedWidget和一个按钮布局。在堆栈窗体QStackedWidget中包含N个窗体,每个窗体采用基本布局方式进行布局管理,每个窗体设计一个几何图形面积计算界面。界面最外层布局可参考图1。要求使用C++语言,利用Qt Creator开发工具实现考核内容,在代码中写清楚注释。
图1 资料提交要求:
- 电子版报告+源码。
- 纸质版作业。 报告要求:
- 正文不得少于3000字。
- 包含目录、Qt概述、项目需求描述和设计、项目实现和结果展示、总结。 三、评分标准 评分项目 评分标准 分值 报告格式 字体、字号、行距等格式是否正确。(10分) 文章结构是否齐全、内容是否充实。(5分) 15 原理概述 Qt的概述和通信机制。(15分) 描述完成项目所需要的类的使用方法(15分) 30 需求分析 描述该项目的需求分析。(10分) 10 实现过程 描述该项目的实现方法和步骤。(10分) 10 结果展示 实现代码和注释的完整性(15) 运行结果(10) 25 总结及改进 总结该项目的优缺点及改进措施。(10分) 10
目录
一、Qt概述 二、项目需求描述和设计 三、项目实现和结果展示 四、总结
一、Qt概述 Qt是一个跨平台的C++应用程序开发框架,可以在不同的操作系统上编写应用程序,比如Windows、macOS和Linux等。它提供了一套类库和开发工具集,使开发者可以快速地构建高质量的GUI应用程序,同时保持跨平台性和易于维护性。
Qt的核心类库包括GUI类库、网络类库、数据库类库、XML类库等。GUI类库是最常用的,其中包括一些常用的控件,如按钮、文本框、标签等,还有一些高级控件,如表格、树型视图、对话框等。
Qt使用信号和槽机制来进行对象间的通信,这是Qt的一个重要的特性。信号是对象发出的消息,槽是接收消息的对象的方法。通过信号和槽机制,可以实现对象间的松耦合,从而提高代码的可维护性和可扩展性。
二、项目需求描述和设计 本项目是一个几何图形面积计算器,要求实现三种几何图形的面积计算,包括三角形、矩形和圆形。界面采用Qt的界面类进行设计,使用QSplitter分割窗体进行布局。
界面最外层是一个分割窗体QSplitter,分割窗体左侧是一个QListWidget,用来显示几何图形列表;右侧是一个QVBoxLayout布局,此布局包括一个堆栈窗体QStackedWidget和一个按钮布局。在堆栈窗体QStackedWidget中包含三个窗体,每个窗体采用基本布局方式进行布局管理,每个窗体设计一个几何图形面积计算界面。
三、项目实现和结果展示 首先,我们创建一个Widget类界面,命名为widget.ui。在界面上拖入一个QSplitter控件和一个QListWidget控件。
接着,我们在QListWidget中添加三个条目:三角形的面积计算、矩形的面积计算、圆的面积计算。我们还需要创建三个QWidget类的子类,分别命名为Form1、Form2和Form3,用来设计三种几何图形的面积计算界面。
在Form1、Form2和Form3的界面中,分别添加两个QLineEdit控件和两个QLabel控件,用来输入几何图形的参数和显示计算结果。还需要添加一个QPushButton控件,用来触发计算和清空操作。界面如下图所示:
Form1界面:
Form2界面:
Form3界面:
接下来,我们在widget.cpp文件中实现程序逻辑。首先,我们在构造函数中创建一个QSplitter控件和一个QListWidget控件,并将QListWidget添加到QSplitter中。然后,我们创建一个QWidget控件,用来放置QStackedWidget和按钮布局,将其设置为QVBoxLayout布局,并将QVBoxLayout添加到QSplitter的右侧。
在QWidget控件中,我们创建一个QStackedWidget控件,并添加三个QWidget控件。在每个QWidget控件中,我们分别添加一个Form1、Form2和Form3窗体。最后,我们将QListWidget的currentRowChanged信号与QStackedWidget的setCurrentIndex槽连接起来,以实现切换几何图形面积计算界面的功能。
代码如下:
widget.cpp
#include "widget.h"
#include
Widget::
原文地址: https://www.cveoy.top/t/topic/owfI 著作权归作者所有。请勿转载和采集!