---Calculate_Dialog.h
#ifndefCALCULATE1_DIALOG_H
#defineCALCULATE1_DIALOG_H
#include
#include
#include
#include
#include
#include
#include
namespaceUi{
classCalculate1_Dialog;
}
classCalculate1_Dialog:publicQDialog
{
Q_OBJECT
public:
explicitCalculate1_Dialog(QWidget*parent=0);
~Calculate1_Dialog();
private:
Ui::Calculate1_Dialog*ui;
QLineEdit*lineEdit;
QLabel*label;
QVBoxLayout*vBoxLayout;
QHBoxLayout*hBOXLayout;
QGridLayout*gridLayout;
QPushButton*btn0;
QPushButton*btn1;
QPushButton*btn2;
QPushButton*btn3;
QPushButton*btn4;
QPushButton*btn5;
QPushButton*btn6;
QPushButton*btn7;
QPushButton*btn8;
QPushButton*btn9;
QPushButton*btn_Point;
QPushButton*btn_Sub;
QPushButton*btn_Add;
QPushButton*btn_Mul;
QPushButton*btn_Div;
QPushButton*btn_Equal;
};
#endif//CALCULATE1_DIALOG_H
---Calculate_Dialog.cpp
#include"calculate1_dialog.h"
#include"ui_calculate1_dialog.h"
#include"test.h"
Calculate1_Dialog::Calculate1_Dialog(QWidget*parent):
QDialog(parent),
ui(newUi::Calculate1_Dialog)
{
ui->setupUi(this);
label=newQLabel(tr("输出结果"));
lineEdit=newQLineEdit;
hBOXLayout=newQHBoxLayout;
hBOXLayout->addWidget(label);
hBOXLayout->addWidget(lineEdit);
btn7=newQPushButton(tr("7"));
btn8=newQPushButton(tr("8"));
btn9=newQPushButton(tr("9"));
btn_Add=newQPushButton(tr("+"));
btn4=newQPushButton(tr("4"));
btn5=newQPushButton(tr("5"));
btn6=newQPushButton(tr("6"));
btn_Sub=newQPushButton(tr("-"));
btn1=newQPushButton(tr("1"));
btn2=newQPushButton(tr("2"));
btn3=newQPushButton(tr("3"));
btn_Mul=newQPushButton(tr("x"));
btn0=newQPushButton(tr("0"));
btn_Point=newQPushButton(".");
btn_Div=newQPushButton(tr("="));
btn_Equal=newQPushButton(tr("/"));
vBoxLayout=newQVBoxLayout;
gridLayout=newQGridLayout;
gridLayout->addWidget(btn7,0,0,1,1);
gridLayout->addWidget(btn8,0,1,1,1);
gridLayout->addWidget(btn9,0,2,1,1);
gridLayout->addWidget(btn_Add,0,3,1,1);
gridLayout->addWidget(btn4,1,0,1,1);
gridLayout->addWidget(btn5,1,1,1,1);
gridLayout->addWidget(btn6,1,2,1,1);
gridLayout->addWidget(btn_Sub,1,3,1,1);
gridLayout->addWidget(btn1,2,0,1,1);
gridLayout->addWidget(btn2,2,1,1,1);
gridLayout->addWidget(btn3,2,2,1,1);
gridLayout->addWidget(btn_Mul,2,3,1,1);
gridLayout->addWidget(btn0,3,0,1,1);
gridLayout->addWidget(btn_Point,3,1,1,1);
gridLayout->addWidget(btn_Equal,3,2,1,1);
gridLayout->addWidget(btn_Div,3,3,1,1);
vBoxLayout->addLayout(hBOXLayout);
vBoxLayout->addLayout(gridLayout);
setLayout(vBoxLayout);
setWindowTitle(tr("计算器"));
connect(btn9,SIGNAL(isClickedButton(QString)),lineEdit,SLOT(setText(QString)));
}
Calculate1_Dialog::~Calculate1_Dialog()
{
deleteui;
}
----test.h
#ifndefTEST_H
#defineTEST_H
#include
classTest:publicQPushButton
{
Q_OBJECT
public:
//explicitTest(QObject*parent=0);
Test(constQString&text,QWidget*parent);
private:
signals:
voidisClickedButton(constQString&text);
publicslots:
voidsendButtonText();
};
#endif//TEST_H
----test.cpp
#include"test.h"
#include
#include
Test::Test(constQString&text,QWidget*widget):
QPushButton(text,widget)
{
connect(this,SIGNAL(clicked()),this,SLOT(sendButtonText()));
}
voidTest::sendButtonText()
{
emitisClickedButton(this->text());
}
|