Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Student_Help
Forum Updated to NodeBB v4.3 + New Features

Student_Help

Scheduled Pinned Locked Moved General and Desktop
3 Posts 2 Posters 1.1k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Q Offline
    Q Offline
    QtStart
    wrote on last edited by
    #1

    Hello and good day,
    I am trying to figure out how initiate the calculations
    as well as bring up the message box based on the
    Pushbutton Calculate being pressed ??
    Please help.

    #include <QApplication>
    #include <QVBoxLayout>
    #include <QSpinBox>
    #include <QLabel>
    #include <QtGui>
    #include <QWidget>
    #include <QPushbutton>
    #include <QSlider>
    #include <QMessageBox>

    int main(int argc, char *argv[])
    {
    QApplication a(argc, argv);
    QWidget window;

    QVBoxLayout* mainLayout = new QVBoxLayout(&window);

    window.setWindowTitle("Exam Mark Calculator");
    QLabel* Label1 = new QLabel("Assignment 1");
    QSpinBox* SpinBox1 = new QSpinBox;
    QLabel* Label2 = new QLabel("Assignment 2");
    QSpinBox* SpinBox2 = new QSpinBox;
    QLabel* Label3 = new QLabel("Assignment 3");
    QSpinBox* SpinBox3 = new QSpinBox;
    QMessageBox* MessageBox1 = new QMessageBox;

    QLabel* Year_Mark = new QLabel("Year Mark Percentage:");
    QLabel* Exam_Mark = new QLabel("Year Mark Percentage:");
    QLabel* Label4 = new QLabel("YearMark");
    QLabel* Notes_LabelHead = new QLabel("Notes:");
    QLabel* Notes_Label1 = new QLabel("Assignment 1( Weight = 20%)");
    QLabel* Notes_Label2 = new QLabel("Assignment 2( Weight = 50%)");
    QLabel* Notes_Label3 = new QLabel("Assignment 3( Weight = 30%)");
    QLabel* Notes_Label4 = new QLabel("Assignment 1+2+3 = Year Mark");
    QLabel* Notes_Label5 = new QLabel("Year Mark = 20% of Final Mark");
    QLabel* Notes_Label6 = new QLabel("Exam Mark = 80% of Final Mark");
    QLabel* Notes_Label7 = new QLabel("Pass Mark = 50%");
    QPushButton* Calculate = new QPushButton ("Calculate");
    QSlider* Slider1 = new QSlider;

    SpinBox1->setMaximum(100);
    SpinBox2->setMaximum(100);
    SpinBox3->setMaximum(100);

    mainLayout->addWidget(Label1);
    mainLayout->addWidget(SpinBox1);
    mainLayout->addWidget(Label2);
    mainLayout->addWidget(SpinBox2);
    mainLayout->addWidget(Label3);
    mainLayout->addWidget(SpinBox3);
    mainLayout->addWidget(Year_Mark);
    mainLayout->addWidget(Label4);
    mainLayout->addWidget(Notes_LabelHead);
    mainLayout->addWidget(Notes_Label1);
    mainLayout->addWidget(Notes_Label2);
    mainLayout->addWidget(Notes_Label3);
    mainLayout->addWidget(Notes_Label4);
    mainLayout->addWidget(Notes_Label5);
    mainLayout->addWidget(Notes_Label6);
    mainLayout->addWidget(Notes_Label7);
    mainLayout->addWidget(Calculate);
    //mainLayout->addWidget(MessageBox1);

    double Ass1Percent;
    double Ass2Percent;
    double Ass3Percent;
    double YearMark;
    double ExamMark;

    //*****!!!!if Calculate->pressed(); then do

    {

    Ass1Percent = SpinBox1->value()0.022;
    Ass2Percent = SpinBox2->value()0.052;
    Ass3Percent = SpinBox3->value()0.032;
    YearMark = Ass1Percent + Ass2Percent + Ass3Percent;
    Label4->setText(QString::number(YearMark)+' %');
    ExamMark = 100 - YearMark;
    MessageBox1->show();
    MessageBox1->setText("Exam Mark Percentage: "+QString::number(ExamMark)+' %');
    }

    window.show();
    return a.exec();
    }

    1 Reply Last reply
    0
    • GianlucaG Offline
      GianlucaG Offline
      Gianluca
      wrote on last edited by
      #2

      You have to create a derivate class from QWidget, declare a slot method that do calculation and connect it to the signal "clicked" of the QPushButton.

      If you are a student, so it wouldn't a problem for you to read carefully the documentation of Qt regarding signal/slot mechanism:
      http://qt-project.org/doc/qt-5/signalsandslots.html
      http://qt-project.org/doc/qt-5/gettingstartedqt.html

      1 Reply Last reply
      0
      • Q Offline
        Q Offline
        QtStart
        wrote on last edited by
        #3

        Thank You Kindly Gianluca, i will work on it this weekend.

        1 Reply Last reply
        0

        • Login

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved