标签:
//界面编程
#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() { }
标签:
原文地址:http://www.cnblogs.com/zhanggaofeng/p/5962209.html