السلام عليكم ورحمة الله وبركاته
رمضان مبروووك للأمة الإسلامية جميعها أعاده الله لنا بمزيد من الأجر والمغفرة
اليوم إن شاء الله سأشارككم ببرنامج : الة حاسبة بسيطة

هدا هو الكود مع بعض الشرحات البسيطة
ملف cpp.
MaFenetre::MaFenetre()
: QWidget()
{
setFixedSize(300,330);
m_champ1=new QLineEdit("entrer num1",this);//الحقل الاول
m_champ2=new QLineEdit("entrer num2",this);//الحقل التاني
m_champ3=new QLineEdit("resulta",this);//حقل النتيجة
b_plus=new QPushButton("+",this);// زر للجمع
b_moin=new QPushButton("-",this);//زر للطرح
b_multi=new QPushButton("x",this);//زر الضرب
b_divis=new QPushButton("÷",this);//زر القسمة
label=new QLabel(this);
label->setPixmap(QPixmap("calc.png"));
label->move(1,230);
m_champ1->move(95,10);//احداثيات
m_champ2->move(95,40);//احداثيات
m_champ3->move(95,220);//احداثيات
b_plus->move(120,90);//احداثيات
b_moin->move(120,120);//احداثيات
b_multi->move(120,150);//احداثيات
b_divis->move(120,180);//احداثيات
QObject::connect(b_plus,SIGNAL(clicked()),this,SLOT(plusv()));
QObject::connect(b_moin,SIGNAL(clicked()),this,SLOT(moinv()));
QObject::connect(b_multi,SIGNAL(clicked()),this,SLOT(multiv()));
QObject::connect(b_divis,SIGNAL(clicked()),this,SLOT(divisv()));
}
void MaFenetre::plusv()
{
double NumChamp1=m_champ1->text().toDouble();//NumChamp1 :اعطاء اسم للحقل 1
double NumChamp2=m_champ2->text().toDouble();//NumChamp2 : اعطاء اسم للحقل 2
double plus = NumChamp1 + NumChamp2;//عملية الجمع
m_champ3->setText(QString::number(plus));//3 طبع نتيجة الجمع في الحقل
}
void MaFenetre::moinv()
{
double NumChamp1=m_champ1->text().toDouble();//NumChamp1 :اعطاء اسم للحقل 1
double NumChamp2=m_champ2->text().toDouble();//NumChamp2 : اعطاء اسم للحقل 2
double moin = NumChamp1 - NumChamp2;//عملية الطرح
m_champ3->setText(QString::number(moin));//طبع نتيجة الطرح في الحقل 3
}
void MaFenetre::multiv()
{
double NumChamp1=m_champ1->text().toDouble();//NumChamp1 :اعطاء اسم للحقل 1
double NumChamp2=m_champ2->text().toDouble();//NumChamp2 : اعطاء اسم للحقل 2
double multi = NumChamp1 * NumChamp2;//عملية الضرب
m_champ3->setText(QString::number(multi));//طبع نتيجة الضرب في الحقل 3
}
void MaFenetre::divisv()
{
double NumChamp1=m_champ1->text().toDouble();//NumChamp1 :اعطاء اسم للحقل 1
double NumChamp2=m_champ2->text().toDouble();//NumChamp2 : اعطاء اسم للحقل 2
double divis = NumChamp1 / NumChamp2;//عملية القسمة
m_champ3->setText(QString::number(divis));//طبع نتيجة الضرب في الحقل 3
}
MaFenetre::~MaFenetre() { }
#include "mafenetre.h"
ملف .H
#define MAFENETRE_H
#include <QtGui>
#include <QWidget>
class MaFenetre : public QWidget
{
Q_OBJECT public: MaFenetre();
~MaFenetre();
public slots:
void plusv();//^_^
void moinv(); //^_^
void multiv();
void divisv();
private:
QLineEdit *m_champ1;
QLineEdit *m_champ2;
QLineEdit *m_champ3;
QPushButton *b_plus;
QPushButton *b_moin;
QPushButton *b_multi;
QPushButton *b_divis;
QLabel *label;
};
#endif
#ifndef MAFENETRE_H
السورس + البرنامج التنفيذي
في انتظار اي تصحيح او اقتراح حول الكود !
تحياتي للجميع


