首页 > 代码库 > QT QT程序初练

QT QT程序初练

//界面编程
#include "widget.h" #include "ui_widget.h" Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); } Widget::~Widget() { delete ui; } void Widget::on_pushButton_clicked() { QString s1=ui->lineEdit->text();//得到lineEdit用户输入的文本 QString s2=ui->lineEdit_2->text(); int a=s1.toInt()+s2.toInt();//toint()将文本转化为整数 ui->label->setText(QString::number(a)); }

 

非界面编程

#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
#include <QPushButton>
#include <QLineEdit>
#include <QLabel>

class Dialog : public QDialog
{
    Q_OBJECT

public:
    Dialog(QWidget *parent = 0);
    ~Dialog();
private:
    //使用哪个控件,必须引用该控件的头文件(QString除外)
    QPushButton *btn1;
    QLineEdit *edit1,*edit2;
    QLabel *label1;
private slots:
    void add();
};

#endif // DIALOG_H
#include "dialog.h"
#include <QGridLayout>

//构造函数
Dialog::Dialog(QWidget *parent)
    : QDialog(parent)
{
    btn1=new QPushButton(this);
    edit1=new QLineEdit(this);
    edit2=new QLineEdit(this);
    label1=new QLabel(this);
    btn1->setText("求和");
    label1->setText("label");
    QGridLayout * layout=new QGridLayout(this);
    //window窗口程序中,x轴和y轴与数学中相反,数学的x轴是窗口的y轴
    layout->addWidget(edit1,0,0);
    layout->addWidget(edit2,0,1);
    layout->addWidget(btn1,1,0);
    layout->addWidget(label1,1,1);
    //只要是主控件上的控件,当主控件释放的时候,主控件上的所有控件都会被释放,不需要使用delete(游离主控件之外的空间不会被释放)

    //将btn1点击事件和add函数关联起来
    connect(btn1,SIGNAL(clicked()),this,SLOT(add()));
}

void Dialog::add()
{
    QString s1=edit1->text();
    QString s2=edit2->text();
    bool on=false;
    //将字符串s1转化成10进制,转化失败on返回false
    int a=s1.toInt(&on,10)+s2.toInt(&on,10);
    label1->setText(QString::number(a));
}

Dialog::~Dialog()
{

}

 

QT QT程序初练