第七天

Qt中的坐标系统:

GUI操作系统都有特定的坐标系统

图形界面程序在坐标系统中进行窗口和部件的定位

定位系统:顶级窗口部件的定位,窗口内部件的定位,窗口部件的大小设置

Qt中的几何坐标以左上角为原定

x(),y()   geometry()指客户区     framegeometry()对话框  (为了跨平台)

geometry(),  framegeometry()中的几何数据,只有在show()之后才能有效

改变窗口部件的大小:void resize()    不同的操作系统的窗口的最小值不一样

 

计算器程序界面设计:

QWidget   QLineEdit(功能性组件,需要父组件作为容器)     QPushButton类

小结:

1、GUI应用程序开发前应该必须先进行节目设计

2、GUI应用程序设计界面设计需要考虑各个细节(界面决定最终用户的体验,界面细节是GUI应用程序品质的重要体现)

3、qt库有能力实现各种GUI应用程序需求

4、QT帮助文档的使用对于开发是非常重要的

计算器静态界面代码:

#include "Widget.h"
#include <QApplication>
#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(true);//对话框只读
    //按钮布局
    for(int i =0;i<4;i++)
    {
        for(int j=0;j<5;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);
            button[i*5 + j]->setText(btnText[i*5 + j]);
        }
    }
    w->show();
    w->setFixedSize(w->width(), w->height());//不能拖动窗口的大小
    ret = a.exec();
    delete w;

    return a.exec();
}

 

 

posted @ 2019-09-09 23:03  RANMINMING  阅读(99)  评论(0编辑  收藏  举报