Qt-3-Programul-calculator

From Qt Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.

Calculator

calculator3.cpp

#include "calculator3.h"
#include "ui_calculator3.h"

Calculator3::Calculator3(QWidget '''parent) :
 QWidget(parent),
 ui(new Ui::Calculator3)
{
 ui->setupUi(this);

 ui->comboBox->addItem("+", 0);
 ui->comboBox->addItem("-", 1);
 ui->comboBox->addItem("'''", 2);

ui->label_2->setNum(0);
 ui->label_2->setStyleSheet("QLabel { background-color: white}");
 ui->label_2->setMaximumWidth(25);

connect(ui->comboBox, SIGNAL (activated(QString)), this, SLOT (calculate(QString)));
 connect(ui->spinBox, SIGNAL (valueChanged(int)), this, SLOT (update()));
 connect(ui->spinBox_2, SIGNAL (valueChanged(int)), this, SLOT (update()));

}

void Calculator3::calculate(QString string){
 if(string  "+"){
        ui->label_2->setNum(ui->spinBox->value() + ui->spinBox_2->value());
    }
    if(string  "-"){
 ui->label_2->setNum(ui->spinBox->value() - ui->spinBox_2->value());
 }
 if(string == "'''"){
 ui->label_2->setNum(ui->spinBox->value()''' ui->spinBox_2->value());
 }

}

void Calculator3::update(){
 if(ui->comboBox->currentIndex()0){
        ui->label_2->setNum(ui->spinBox->value() + ui->spinBox_2->value());
    }
    if(ui->comboBox->currentIndex()1){
 ui->label_2->setNum(ui->spinBox->value() - ui->spinBox_2->value());
 }
 if(ui->comboBox->currentIndex()==2){
 ui->label_2->setNum(ui->spinBox->value() * ui->spinBox_2->value());
 }
}

Calculator3::~Calculator3()
{
 delete ui;
}

calculator3.h

#ifndef CALCULATOR3_H
#define CALCULATOR3_H

#include <QWidget>
#include <QSpinBox>
#include <QComboBox>
#include <QLabel>

namespace Ui {
class Calculator3;
}

class Calculator3 : public QWidget
{
 Q_OBJECT

public:
 explicit Calculator3(QWidget *parent = 0);
 ~Calculator3();

private:
 Ui::Calculator3 *ui;
 QSpinBox *spinBox;
 QSpinBox *spinBox_2;
 QComboBox *comboBox;
 QLabel *label_2;

private slots:
 void calculate(QString string);
 void update();

};

#endif // CALCULATOR3_H

main.cpp

#include "calculator3.h"
#include <QApplication>

int main(int argc, char *argv[])
{
 QApplication a(argc, argv);
 Calculator3 w;
 w.show();

return a.exec();
}

calculator3.ui

<?xml version="1.0" encoding="UTF-8"?> <ui version="4.0">

<class>Calculator3</class>
<widget class="QWidget" name="Calculator3">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Calculator3</string>
</property>
<widget class="QWidget" name="">
<property name="geometry">
<rect>
<x>20</x>
<y>30</y>
<width>351</width>
<height>29</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QSpinBox" name="spinBox">
<property name="minimum">
<number>–999</number>
</property>
<property name="maximum">
<number>999</number>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBox"/>
</item>
<item>
<widget class="QSpinBox" name="spinBox_2">
<property name="minimum">
<number>–999</number>
</property>
<property name="maximum">
<number>999</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>=</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources/>
<connections/>

</ui>