Exemplo n.º 1
0
//
//  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)));
   
   

}
Exemplo n.º 2
0
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);
}