// // Constructor for Main widget // Main::Main() { // Set window title setWindowTitle(tr("Homework 1 - Ethan Kreloff")); CalcDisplay *resultDisplay = new CalcDisplay(); Visual *calcVisual = new Visual(); // Text inside calculator butons QString string1 = "1"; QString string2 = "2"; QString string3 = "3"; QString string4 = "4"; QString string5 = "5"; QString string6 = "6"; QString string7 = "7"; QString string8 = "8"; QString string9 = "9"; QString string0 = "0"; QString stringClear = "Clear"; QString stringPlus = "+"; QString stringMinus = "-"; QString stringTimes = "*"; QString stringDivide = "/"; QString stringEquals = "="; QString stringDelete = "Delete"; QString stringDec = "Decimal"; QString stringBin = "Binary"; QString stringHex = "Hexadecimal"; QString stringOct = "Octal"; // Calculator Buttons QPushButton *button1 = new QPushButton(string1); QPushButton *button2 = new QPushButton(string2); QPushButton *button3 = new QPushButton(string3); QPushButton *button4 = new QPushButton(string4); QPushButton *button5 = new QPushButton(string5); QPushButton *button6 = new QPushButton(string6); QPushButton *button7 = new QPushButton(string7); QPushButton *button8 = new QPushButton(string8); QPushButton *button9 = new QPushButton(string9); QPushButton *button0 = new QPushButton(string0); QPushButton *buttonPlus = new QPushButton(stringPlus); QPushButton *buttonMinus = new QPushButton(stringMinus); QPushButton *buttonTimes = new QPushButton(stringTimes); QPushButton *buttonDivide = new QPushButton(stringDivide); QPushButton *buttonEquals = new QPushButton(stringEquals); QPushButton *buttonClear = new QPushButton(stringClear); QPushButton *buttonDelete = new QPushButton(stringDelete); QPushButton *buttonDec = new QPushButton(stringDec); QPushButton *buttonHex = new QPushButton(stringHex); QPushButton *buttonBin = new QPushButton(stringBin); QPushButton *buttonOct = new QPushButton(stringOct); // Layout QGridLayout *gridLayout = new QGridLayout(); QBoxLayout *topLayout = new QBoxLayout(QBoxLayout::TopToBottom); topLayout->addWidget(resultDisplay); topLayout->addWidget(calcVisual); gridLayout->addWidget(button1,1,0); gridLayout->addWidget(button2,1,1); gridLayout->addWidget(button3,1,2); gridLayout->addWidget(button4,2,0); gridLayout->addWidget(button5,2,1); gridLayout->addWidget(button6,2,2); gridLayout->addWidget(button7,3,0); gridLayout->addWidget(button8,3,1); gridLayout->addWidget(button9,3,2); gridLayout->addWidget(button0,4,1); gridLayout->addWidget(buttonPlus,1,3); gridLayout->addWidget(buttonMinus,2,3); gridLayout->addWidget(buttonTimes,3,3); gridLayout->addWidget(buttonDivide,4,3); gridLayout->addWidget(buttonEquals,5,3); gridLayout->addWidget(buttonClear,5,0); gridLayout->addWidget(buttonDelete,4,0); gridLayout->addWidget(buttonDec,6,0); gridLayout->addWidget(buttonHex,6,1); gridLayout->addWidget(buttonBin,6,2); gridLayout->addWidget(buttonOct,6,3); topLayout->addLayout(gridLayout); setLayout(topLayout); // Button click calls connect(button1, SIGNAL(clicked()) , resultDisplay , SLOT(button1Click())); connect(button2, SIGNAL(clicked()) , resultDisplay , SLOT(button2Click())); connect(button3, SIGNAL(clicked()) , resultDisplay , SLOT(button3Click())); connect(button4, SIGNAL(clicked()) , resultDisplay , SLOT(button4Click())); connect(button5, SIGNAL(clicked()) , resultDisplay , SLOT(button5Click())); connect(button6, SIGNAL(clicked()) , resultDisplay , SLOT(button6Click())); connect(button7, SIGNAL(clicked()) , resultDisplay , SLOT(button7Click())); connect(button8, SIGNAL(clicked()) , resultDisplay , SLOT(button8Click())); connect(button9, SIGNAL(clicked()) , resultDisplay , SLOT(button9Click())); connect(button0, SIGNAL(clicked()) , resultDisplay , SLOT(button0Click())); connect(buttonPlus, SIGNAL(clicked()) , resultDisplay , SLOT(buttonPlusClick())); connect(buttonMinus, SIGNAL(clicked()) , resultDisplay , SLOT(buttonMinusClick())); connect(buttonTimes, SIGNAL(clicked()) , resultDisplay , SLOT(buttonTimesClick())); connect(buttonDivide, SIGNAL(clicked()) , resultDisplay , SLOT(buttonDivideClick())); connect(buttonEquals, SIGNAL(clicked()) , resultDisplay , SLOT(buttonEqualsClick())); connect(buttonClear, SIGNAL(clicked()) , resultDisplay , SLOT(buttonClearClick())); connect(buttonDelete, SIGNAL(clicked()) , resultDisplay , SLOT(buttonDeleteClick())); connect(buttonDec, SIGNAL(clicked()) , resultDisplay , SLOT(buttonDecClick())); connect(buttonHex, SIGNAL(clicked()) , resultDisplay , SLOT(buttonHexClick())); connect(buttonBin, SIGNAL(clicked()) , resultDisplay , SLOT(buttonBinClick())); connect(buttonOct, SIGNAL(clicked()) , resultDisplay , SLOT(buttonOctClick())); connect(resultDisplay, SIGNAL(currentValue(int, int)), calcVisual, SLOT(setNumber(int, int))); }
void podrobnosti::setup() { this->resize(640, 480); centralWidget = new QWidget(this); centralWidgetLayout = new QGridLayout(centralWidget); centralWidgetLayout->setSpacing(0); centralWidgetLayout->setMargin(0); centralWidgetLayout->setContentsMargins(0, 0, 0, 0); layoutButtons = new QGridLayout(); for(int i = 0; i < 13; i++) { buttonArray[i] = new MyQToolButton(); buttonArray[i]->setText(QString::number(i+1)); buttonArray[i]->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); buttonArray[i]->setMinimumWidth(30); buttonArray[i]->setNumber(i); buttonArray[i]->setStyleSheet(files->styleButtonsNormal()); buttonArray[i]->setFont(QFont("Arial Black", 10)); connect(this->buttonArray[i], SIGNAL(clicked(int)), this, SLOT(selectMix(int))); layoutButtons->addWidget(buttonArray[i], 0, i+2, 1, 1); } horizontalSpacer_buttons_left = new QSpacerItem(10, 0, QSizePolicy::MinimumExpanding, QSizePolicy::Fixed); horizontalSpacer_buttons_right = new QSpacerItem(10, 0, QSizePolicy::MinimumExpanding, QSizePolicy::Fixed); buttonPlus = new QToolButton(); buttonMinus = new QToolButton(); buttonPlus->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); buttonPlus->setMinimumWidth(30); buttonMinus->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); buttonMinus->setMinimumWidth(30); labelZoom = new QLabel("Zoom"); labelMix = new QLabel("Mix:"); buttonPlus->setText("+"); buttonPlus->setFont(QFont("Arial Black", 10)); buttonPlus->setStyleSheet(files->styleButtonsNormal()); buttonMinus->setText("-"); buttonMinus->setFont(QFont("Arial Black", 10)); buttonMinus->setStyleSheet(files->styleButtonsNormal()); labelZoom->setIndent(10); labelMix->setIndent(10); labelZoom->setAlignment(Qt::AlignRight | Qt::AlignVCenter); labelMix->setAlignment(Qt::AlignRight | Qt::AlignVCenter); layoutButtons->addItem(horizontalSpacer_buttons_left, 0, 0, 1, 1); layoutButtons->addWidget(labelMix, 0, 1, 1, 1); layoutButtons->addItem(horizontalSpacer_buttons_right, 0, 15, 1, 1); layoutButtons->addWidget(labelZoom, 0, 16, 1, 1); layoutButtons->addWidget(buttonMinus, 0, 17, 1, 1); layoutButtons->addWidget(buttonPlus, 0, 18, 1, 1); centralWidgetLayout->addLayout(layoutButtons, 0, 0, 1, 1); connect(this->buttonMinus, SIGNAL(clicked()), this, SLOT(buttonMinusClick())); connect(this->buttonPlus, SIGNAL(clicked()), this, SLOT(buttonPlusClick())); Scene = new QGraphicsScene(); View = new QGraphicsView(Scene); View->scale(0.5, 0.5); centralWidgetLayout->addWidget(View, 1 , 0 , 1 , 1); this->setCentralWidget(centralWidget); }