基于嵌入式linux计算器的实现 联系客服

发布时间 : 星期日 文章基于嵌入式linux计算器的实现更新完毕开始阅读2dcc691ce45c3b3567ec8bff

沈阳航空航天大学课程设计报告 参考文献

参考文献

[1] 刘峥嵘等. 嵌入式Linux应用开发详解[M]. 北京:机械工业出版社,2004 [2] 蔡志明等. 精通Qt4编程(第2版)[M]. 北京:电子工业出版社,2011 [3] 霍亚飞. Qt及Qt Quick开发实战精解 [M]. 北京:北京航空航天大学出版社,2012

[4] 霍亚飞. Qt Creater快速入门[M]. 北京:北京航空航天大学出版社,2012 [5] 陈祥琳. Linux从入门到精通[M]. 北京:人民邮电出版社,2012 [6] 博创公司. UP-Star6410 实验指导v4.0[M]. 北京博创兴盛科技有限公司 [7] 丁林松等. Qt4图形设计与嵌入式开发[M]. 北京:人民邮电出版社,2009

-11-

沈阳航空航天大学课程设计报告 附 录

附 录

部分主要源程序代码 #include #include #include \#include \//! [0]

Calculator::Calculator(QWidget *parent) : QDialog(parent) {

sumInMemory = 0.0; sumSoFar = 0.0; factorSoFar = 0.0; waitingForOperand = true; //! [0] //! [1]

display = new QLineEdit(\//! [1] //! [2]

display->setReadOnly(true);

display->setAlignment(Qt::AlignRight); display->setMaxLength(15); QFont font = display->font(); font.setPointSize(font.pointSize() + 8); display->setFont(font); //! [2] //! [4]

-12-

沈阳航空航天大学课程设计报告 附 录

for (int i = 0; i < NumDigitButtons; ++i) {

digitButtons[i] = createButton(QString::number(i), SLOT(digitClicked()));

}

Button *pointButton = createButton(tr(\ Button

*changeSignButton

=

createButton(tr(\

SLOT(changeSignClicked())); Button

*backspaceButton

=

createButton(tr(\

SLOT(backspaceClicked()));

Button *clearButton = createButton(tr(\

Button *clearAllButton = createButton(tr(\ Button *clearMemoryButton = createButton(tr(\ Button *readMemoryButton = createButton(tr(\ Button *setMemoryButton = createButton(tr(\ Button

*addToMemoryButton

=

createButton(tr(\

SLOT(addToMemory())); Button

*divisionButton

=

createButton(tr(\

SLOT(multiplicativeOperatorClicked())); Button

*timesButton

=

createButton(tr(\

SLOT(multiplicativeOperatorClicked()));

Button *minusButton = createButton(tr(\ Button *plusButton = createButton(tr(\ Button

*squareRootButton

=

createButton(tr(\

SLOT(unaryOperatorClicked())); Button

*powerButton

=

createButton(tr(\

SLOT(unaryOperatorClicked())); Button

*reciprocalButton

=

createButton(tr(\

SLOT(unaryOperatorClicked()));

Button *equalButton = createButton(tr(\

-13-

沈阳航空航天大学课程设计报告 附 录

//! [4] //! [5]

QGridLayout *mainLayout = new QGridLayout; //! [5] //! [6]

mainLayout->setSizeConstraint(QLayout::SetFixedSize); mainLayout->addWidget(display, 0, 0, 1, 6);

mainLayout->addWidget(backspaceButton, 1, 0, 1, 2); mainLayout->addWidget(clearButton, 1, 2, 1, 2); mainLayout->addWidget(clearAllButton, 1, 4, 1, 2); mainLayout->addWidget(clearMemoryButton, 2, 0); mainLayout->addWidget(readMemoryButton, 3, 0); mainLayout->addWidget(setMemoryButton, 4, 0); mainLayout->addWidget(addToMemoryButton, 5, 0); for (int i = 1; i < NumDigitButtons; ++i) { int row = ((9 - i) / 3) + 2; int column = ((i - 1) % 3) + 1;

mainLayout->addWidget(digitButtons[i], row, column); }

mainLayout->addWidget(digitButtons[0], 5, 1); mainLayout->addWidget(pointButton, 5, 2); mainLayout->addWidget(changeSignButton, 5, 3); mainLayout->addWidget(divisionButton, 2, 4); mainLayout->addWidget(timesButton, 3, 4); mainLayout->addWidget(minusButton, 4, 4); mainLayout->addWidget(plusButton, 5, 4); mainLayout->addWidget(squareRootButton, 2, 5); mainLayout->addWidget(powerButton, 3, 5); mainLayout->addWidget(reciprocalButton, 4, 5);

-14-