计算器界面设计:
- 定义组件间的间隔
space = 10px - 定义按钮组件的大小
width = 40px,height = 40px - 定义文本框的组件的大小
width = 5 * 40px + 4 *10px
height = 30px
视图如下:
代码示例:
#include <QtGui/QApplication>
#include <QWidget>
#include <QLineEdit>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
//只显示关闭的顶级父窗口,Qt::WindowCloseButtonHint
QWidget* w = new QWidget(NULL,Qt::WindowCloseButtonHint);
QLineEdit* le = new QLineEdit(w);
QPushButton* button[20] = {0};
int ret = 0;
const char* btnText[20] =
{
"7","8","9","+",")",
"4","5","6","-","(",
"1","2","3","*","<-",
"0",".","=","/","C",
};
le->move(10,10);
le->resize(240,30);
//文本框不能直接输入字符
le->setReadOnly(true);
for(int i = 0; i < 4; i++) {
for(int j = 0; j < 5; j++) {
button[5*i + j] = new QPushButton(w);
button[5*i + j]->resize(40,40);
button[5*i + j]->move(10 + (40 + 10)*j, 50 + (10 + 40)*i);
button[5*i + j]->setText(btnText[5*i + j]);
}
}
w->show();
//固定文本框的大小
w->setFixedSize(w->width(),w->height());
ret = a.exec();
delete w;
return ret;
}