Qt小白学习之纯代码实现计算圆面积的功能

Qt学习总结 专栏收录该内容
3 篇文章 0 订阅

介绍:不使用ui画图功能,使用纯代码入门,编写计算圆面积

#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>

/*加入实现Label、LineEdit、PushButton控件的头文件*/
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>

const double PI = 3.1615;
class Dialog : public QDialog
{
    /*Q_OBJECT宏的作用是启动QT5对象系统的一些特性(如支持信号与槽)
    它必须放置到类的私有区*/
    Q_OBJECT

public:
    Dialog(QWidget *parent = nullptr);
    ~Dialog();

public slots:
    void area();

private:
	//界面中的控件定义
    QLabel *label1,*label2;
    QLineEdit *lineEdit;
    QPushButton *button;


};
#endif // DIALOG_H

#include "dialog.h"
#include <QGridLayout>  //布局管理器的头文件

Dialog::Dialog(QWidget *parent)
    : QDialog(parent)
{
    label1 = new QLabel(this);
    label1->setText(u8"请输入圆的半径");
    lineEdit = new QLineEdit(this);
    label2 = new QLabel(this);
    button = new QPushButton(this);
    button->setText(u8"显示对应圆的面积");

    //布局管理器,将所有控件的位置固定
    QGridLayout *mainlayout = new QGridLayout(this);
    mainlayout->addWidget(label1,0,0);
    mainlayout->addWidget(lineEdit,0,1);
    mainlayout->addWidget(label2,1,1);
    mainlayout->addWidget(button,1,1);

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

}

Dialog::~Dialog()
{
}

void Dialog::area()
{
    bool ok;
    QString radius;
    radius = lineEdit->text();
    int radius_input =radius.toInt(&ok);
    double area_value = radius_input * radius_input * PI;
    QString area_output;
    lineEdit->setText(area_output.setNum(area_value));
}

总结:

1.中文乱码问题,tr("测试")还是会乱码,用u8"测试"
2.从控件中读取内容 指针LineEdit->text(); LineEdit.text();
	向控件中输入内容 LineEdit->setText(num);
			输入内容double->string 
			LineEdit->setText(QString b.setNum(num));
3.对于输入内容的限制
		//例,限制输入为整型
		bool ok;
		int radius_input =radius.toInt(&ok);
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值