修改myMainWindow.py程序,添加功能
打开数据库
生成分数数据
import新模块
在构造函数中设置数据模型,调用生成分数函数
生成分数函数
运行看看
统计各分数段人数
构造函数中调用
统计各分数段人数的函数
运行看看
窗体的布局
窗体大小变化时界面的变化
拉大窗口看看
好难看,窗口拉大,显示区域没有跟着变大
设置栅格布局
设置栅格布局
在窗体空白处点击或者在右上角的对象选中窗体,选择栅格布局
设计界面效果如下,看上去不错
运行看看
初始大小
不错不错
放大到整个屏幕
好难看,上面的frameHead不需要那么高。界面放大,frameHead、frameData,tabWidget都拉大了
打破布局
让布局变回原样
固定frameHead高度
希望在窗口放大的时候,frameHead不放大,只是放大表格和图形显示区域
改frameHead的sizePolicy属性,当前这个属性是这样的
希望窗口扩大的时候,frameHead水平方向可以跟着放大,但垂直方向固定不动。修改策略
设置栅格布局
设置前窗体的层次结构
可以看到,窗体从大的角度来看由两个部分组成,一部分是frameHead,另一部分是splitter(由frameData和tabWidget组成)
从界面上来看,frameHead占据了窗口上方的大部分,但并没有占满整个上面一条空间
改为栅格布局
改完frameHead的属性后,再把窗体设为栅格布局。窗体变成了这样
由于设置了栅格布局,而且frameHead的扩展策略是水平方向Prefered,所以frameHead霸占了整个窗体上部空间(如果水平是fixed的,那么不会占满)
运行看看
刚运行界面
放大到整个屏幕
frameHead不会变太高了
splitter布局
当前的布局
从当前布局可以看出,frameData和groupBoxGrade通过一个splitter,组合到一起。
splitter是分裂器,可以左右分割和上下分割,可以在两个可以自由改变大小的组件之间进行分割
运行中改变布局
拖完之后
把屏幕放到最大
我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!