Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
TConv-0.1 - tconv_gui.cpp

tconv_gui.cpp

Caricato da:
Scarica il programma completo

  1. #include "tconv_gui.h"
  2. #include "tconv_utils.h"
  3. //Including headers for all the widgets
  4. #include <QLineEdit>
  5. #include <QMenu>
  6. #include <QMenuBar>
  7. #include <QPushButton>
  8. #include <QString>
  9. #include <QGridLayout>
  10. #include <QMessageBox>
  11. #include <QAction>
  12. #include <QLabel>
  13.  
  14. TConv_GUI::TConv_GUI(QWidget *parent)
  15.     : QWidget(parent)
  16. {
  17.     //Now let's instance all widgets
  18.     input = new QLineEdit;
  19.     ris = new QLabel("");
  20.     CF = new QPushButton("Converti da Celsius a Fahrenheit!");
  21.     CK = new QPushButton("Converti da Celsius a Kelvin!");
  22.     FC = new QPushButton("Converti da Fahrenheit a Celsius!");
  23.     FK = new QPushButton("Converti da Fahrenheit a Kelvin!");
  24.     KC = new QPushButton("Converti da Kelvin a Celsius!");
  25.     KF = new QPushButton("Converti da Kelvin a Fahrenheit");
  26.     barra = new QMenuBar;
  27.     file = new QMenu("File");
  28.     info = new QMenu("?");
  29.     exit = new QAction("Esci", this);
  30.     showInfo = new QAction("Info...", this);
  31.     layout = new QGridLayout();
  32.     layout->setMenuBar(barra);
  33.     layout->addWidget(input, 1, 0);
  34.     layout->addWidget(CF, 0, 1);
  35.     layout->addWidget(CK, 2, 1);
  36.     layout->addWidget(FC, 0, 2);
  37.     layout->addWidget(FK, 2, 2);
  38.     layout->addWidget(KC, 0, 3);
  39.     layout->addWidget(KF, 2, 3);
  40.     layout->addWidget(ris, 2, 0);
  41.     barra->addMenu(file);
  42.     barra->addMenu(info);
  43.     file->addAction(exit);
  44.     info->addAction(showInfo);
  45.     barra->adjustSize();
  46.     //The time has come: we have to connect signals to slots
  47.     connect(CF, SIGNAL(clicked()), this, SLOT(cf()));
  48.     connect(CK, SIGNAL(clicked()), this, SLOT(ck()));
  49.     connect(FC, SIGNAL(clicked()), this, SLOT(fc()));
  50.     connect(FK, SIGNAL(clicked()), this, SLOT(fk()));
  51.     connect(KC, SIGNAL(clicked()), this, SLOT(kc()));
  52.     connect(KF, SIGNAL(clicked()), this, SLOT(kf()));
  53.     connect(exit, SIGNAL(triggered()), this, SLOT(close()));
  54.     connect(showInfo, SIGNAL(triggered()), this, SLOT(informazioni()));
  55.     setWindowTitle("TConv - Convertitore di temperature");
  56.     setLayout(layout);
  57. }
  58.  
  59. void TConv_GUI::cf()
  60. {
  61.     QString tempInserita = input->text();
  62.     double val = tempInserita.toDouble();
  63.     double fahrenheit = C2F(val);
  64.     QString expr;
  65.     expr = expr.setNum(fahrenheit);
  66.     ris->setText(expr);
  67. }
  68. void TConv_GUI::ck()
  69. {
  70.     QString tempInserita = input->text();
  71.     double val = tempInserita.toDouble();
  72.     double kelvin = C2K(val);
  73.     QString expr;
  74.     expr = expr.setNum(kelvin);
  75.     ris->setText(expr);
  76. }
  77. void TConv_GUI::fc()
  78. {
  79.     QString tempInserita = input->text();
  80.     double val = tempInserita.toDouble();
  81.     double celsius = F2C(val);
  82.     QString expr;
  83.     expr = expr.setNum(celsius);
  84.     ris->setText(expr);
  85. }
  86. void TConv_GUI::fk()
  87. {
  88.     QString tempInserita = input->text();
  89.     double kelvin = F2K(tempInserita.toDouble());
  90.     QString expr;
  91.     expr = expr.setNum(kelvin);
  92.     ris->setText(expr);
  93. }
  94. void TConv_GUI::kc()
  95. {
  96.     QString tempInserita = input->text();
  97.     double celsius = K2C(tempInserita.toDouble());
  98.     QString expr;
  99.     expr = expr.setNum(celsius);
  100.     ris->setText(expr);
  101. }
  102. void TConv_GUI::kf()
  103. {
  104.     QString tempInserita = input->text();
  105.     double fahrenheit = K2F(tempInserita.toDouble());
  106.     QString expr;
  107.     expr = expr.setNum(fahrenheit);
  108.     ris->setText(expr);
  109. }
  110. void TConv_GUI::informazioni()
  111. {
  112.     QMessageBox::about(this, "Informazioni su TConv", "Questo programma e' stato scritto in C++ / Qt da Fiusco Francesco.\n Versione: 0.1 \n Per info e/o bug: kot.gotico@gmail.com");
  113. }