Qt对话框——输入半径,得到面积

来源:互联网 发布:黑客帝国3矩阵革命 编辑:程序博客网 时间:2024/05/18 06:28
#ifndef DIALOG_H#define DIALOG_H#include <QDialog>#include <QLabel>#include <QLineEdit>#include <QPushButton>class Dialog : public QDialog{    Q_OBJECTpublic:    Dialog(QWidget *parent = 0);    ~Dialog();private:    QLabel *radiusLabel, *areaLabel;    QLineEdit *radiusLineEdit, *areaLineEdit;    QPushButton *countPushButton;private slots:    void showArea();};#endif // DIALOG_H
#include "dialog.h"#include <QGridLayout>#include <QVBoxLayout>#include <QHBoxLayout>Dialog::Dialog(QWidget *parent)    : QDialog(parent){    radiusLabel = new QLabel(this);    radiusLabel->setText(tr("半径:"));    areaLabel = new QLabel;    areaLabel->setText(tr("面积:"));    radiusLineEdit = new QLineEdit(this);    areaLineEdit = new QLineEdit;    countPushButton = new QPushButton;    countPushButton->setText(tr("计算"));    QGridLayout *Layout = new QGridLayout(this);    Layout->addWidget(radiusLabel, 0, 0);    Layout->addWidget(radiusLineEdit, 0, 1);    Layout->addWidget(areaLabel, 0, 2);    Layout->addWidget(areaLineEdit, 0, 3);    Layout->addWidget(countPushButton, 1, 3);    setLayout(Layout);    setWindowTitle(tr("计算圆的面积"));    connect(countPushButton, SIGNAL(clicked()), this, SLOT(showArea()));}Dialog::~Dialog(){}void Dialog::showArea(){    bool ok;    QString areaString;    QString radiusString;    radiusString = radiusLineEdit->text();    int radius = radiusString.toInt(&ok);    double area = radius * radius * 3.14;    areaLineEdit->setText(areaString.setNum(area));}
#include "dialog.h"#include <QApplication>int main(int argc, char *argv[]){    QApplication a(argc, argv);    Dialog w;    w.show();    return a.exec();}



0 0