一、QlineEdit组件

image.png
QlineEdit用于接受用户输入
QlineEdit能够获取用户输入的字符串
QlineEdit是功能性组件,需要父组件作为容器
QlineEdit能够在父组件中进行定位
image.png

二、计算器UI设计与实现

界面设计:
定义组件间的间隔:
Space = 10px
定义按钮组件的大小:
Width = 40px,Height = 40px
定义文本框组件的大小:
Width = 5×40px+4×10px,Height = 30px;
image.png

存在的问题:

计算器程序不需要最大化和最小化按钮
计算器程序的窗口固定大小
文本框不能直接输入字符

编程实验:计算机器界面优化

#include <QtGui/QApplication>
#include "widget.h"
#include<QWidget>
#include<QLineEdit>
#include<QPushButton>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget* w = new QWidget(NULL,Qt::WindowCloseButtonHint);  //关闭最小化按钮
    QLineEdit* le = new QLineEdit(w);
    QPushButton* button[20] = {0};
    const char* btnText[20] = {"7","8","9","+","(",
                              "4","5","6","-",")",
                              "1","2","3","*","<-",
                              "0",".","/","=","C"};
    int ret = 0;
    le ->move(10,10);       //生成文本框
    le ->resize(240,30);
    le ->setReadOnly(1);    //文本框只读 ,不可编辑
    for(int i=0;i<4;i++)       //i为行
    {
        for(int j=0; j<5;j++) //j为列
        {
            button[i*5 +j] = new QPushButton(w); //生成按钮对象
            button[i*5 +j] -> resize(40,40);//按钮的大小
            button[i*5 +j] -> move(10+(10+40)*j,50+(10+40)*i);  //X,Y的偏移量;
            button[i*5 +j] -> setText(btnText[i*5 + j]);
        }
    }
    w->show();
    w->setFixedSize(w->width(),w->height());  //固定宽度与高度;
    ret = a.exec();
    delete w;
    return ret;
}

三、小结:

GUI应用程序开发应该前必须先进行界面设计
GUI应用程序界面需要考虑各个细节
界面决定最终用户的体验
界面细节是GUI应用程序品质的重要体现
Qt库有能力实现各种GUI应用程序的需求
Qt帮助文档的使用对于开发是非常重要的。

郑重声明:以上内容参考狄泰软件学院系列课程!


YingLi
6 声望5 粉丝

From zero to hero.