QT学习(1)

QT学习(1)

QT5简单开发实例(计算圆面积)

1、通过设计器 QT Designer实现

新建文件或项目,创建一个新项目,先择Application → Qt Widgets Application,点击choose,创建一个桌面应用程序。选择保存项目的路径并自定义名字(路径不能出现中文
在这里插入图片描述
根据实际需要,选择一个基类,这里选择QDialog对话框类作为基类,这时,类名、头文件、源文件、界面文件都出现默认的文件名,这些文件名可以根据需要进行相应修改(我这里修改为QtLearn1)。默认选中创建界面复选框,表示需要采用界面设计器来设计界面,否则利用代码完成界面的设计。
在这里插入图片描述
点击完成,创建项目
在这里插入图片描述
文件列表中的文件自动分类显示
在这里插入图片描述

双击ui文件,进行界面设计,内容如下所示。
在这里插入图片描述
QT中main()函数相关内容

#include "qtlearn1.h"  //包含了程序中要完成功能的Qtlearn1类的定义,在该类中封装要完成的功能,使用哪个类就必须将该类的头文件引用过来。

#include <QApplication>
//Application类的定义,在每个使用Qt图形化应用程序中都必须使用一个QApplication对象。
//QApplication管理了各种各样的图形化应用程序的广泛资源、基本设置、控制流及事件处理等。
int main(int argc, char *argv[]) // 程序入口,argc是命令行变量的数量,argv是命令行变量的数组
{
    QApplication a(argc, argv); // a是这个程序的QApplication对象。在任何Qt窗口系统部件被使用之前必须创建QApplication对象。
    QtLearn1 w;
    w.show(); //使窗口可见
    return a.exec(); //程序进入消息循环,等待可能的输入进行响应。
}

编写代码
在ui文件的计算按钮上点击鼠标右键,在弹出的下拉菜单中选择“转到槽…”,然后选择QAbstractButton的“clicked()”信号。
在这里插入图片描述
进入cpp文件中的按钮单击事件槽函数on_countBtn_clicked(),添加如下代码。

void Dialog::on_countBtn_clicked()
{
    bool ok;
    QString tempStr;
    QString valueStr = ui->radiusLineEdit->text();
    int valueInt = valueStr.toInt(&ok);
    double area = valueInt*valueInt*PI;//在文件开始处添加const static double PI = 3.1416
    ui->area_Label_2->setText(tempStr.setNum(area));
}

运行程序,在Line Edit 文本框中输入半径值,单击计算按钮后,完成圆面积的计算。

2、通过代码实现

首先重新创建项目,但是取消勾选创建界面。

在头文件中,添加如下代码:

#include <QLabel>
#include <QLineEdit>
#include <QPushButton>
...


...
private:
QLabel *label1, *label2; //label1标签提示“输入半径”,label2标签显示圆面积计算结果
QLineEdit *lineEdit; //文本框用于输入半径
QPushButton *button;// 计算命令按钮

在cpp文件中,添加如下代码

#include <QGridLayout>  //布局管理器头文件
QtLearn1::QtLearn1(QWidget *parent)
: QDialog(parent)
{
	label1 = new QLabel(this);
	label1->setText(tr("请输入圆的半径:"));
	lineEdit = new QLineEdit(this);
	label2 = new QLabel(this);
	button = new QPushButton(this);
	button->setText(tr("显示圆的面积"));
	QGridLayout *mainLayout = new QGridLayout(this);
	mainLayout->addWidget(label1,0,0);
	mainLayout->addWidget(lineEdit,0,1);
	mainLayout->addWidget(label2,1,0);
	mainLayout->addWidget(button,1,1);
}

运行,显示如下
在这里插入图片描述
之后在头文件中添加如下代码

private slots:
	void showArea();

在cpp文件的构造函数中添加如下代码

connect(button,SIGNAL(clicked()),this,SLOT(showArea()));

在cpp的showArea函数中计算圆面积。

void QtLearn1::showArea()
{
    bool ok;
    QString tempStr;
    QString valueStr = lineEdit->text();
    int valueInt = valueStr.toInt(&ok);
    double area = valueInt*valueInt*PI;
    label2->setText(tempStr.setNum(area));
}

运行程序,结果如下
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值