界面优化
- 一.按钮
- 二.复选框
- 三.输入框
- 四.列表
- 五.菜单栏
- 六.登陆界面
- 七.小结
一.按钮
二.复选框
单选框的属性与复选框一样,就不多演示了。
三.输入框
四.列表
关于qlineargradient:
- qlineargradient有6个参数.
- x1, y1:标注了一个起点.
- x2, y2:标注了一个终点.这两个点描述了一个"方向".
- 例如:. x1:0, y1:0, x2:0, y2:1就是垂直方向从上向下进行颜色渐变.
- x1: 0, y1: 0,x2:1, y2:0就是水平方向从左向右进行颜色渐变.
- x1:0,y1:0,x2:1, y2:1就是从左上往右下方向进行颜色渐变.
- stop0和stop1描述了两个颜色.渐变过程就是从 stop0往stop1进行渐变的.
五.菜单栏
六.登陆界面
1.创建一个基础界面。
使用QVBoxLayout来管理上述控件.两个输入框和按钮的minimumHeight均设置为50.(元素在布局管理器中无法直接设置width和height,使用minimumWidth和 minimumHeight代替,此时垂直方向的sizePolicy要设为fixed).右键QcheckBox ,选择Layout Alignment可以设置checkbox的对齐方式(左对齐,居中对齐,右对齐).
2.设置背景图⽚
由于顶层创建背景图片会不生效,为了解决这个问题,就需要再套一层控件,让当前控件不是顶层控件即可。
把上述控件添加⼀个⽗元素QFrame,并设置QFrame和窗⼝⼀样⼤
将控件拖到fram里。
使用border-image设置背景图片,而不是background-image .主要是因为border-image是可以自动缩放的.这一点在窗口大小发生改变时是非常有意义的.
3.设置输⼊框,checkbox和按钮样式
七.小结
QSS本身给Qt提供了更丰富的样式设置的能力,但是整体来说QSS的功能是不如CSS的.在CSS中,整个网页的样式,都是CSS一手负责, CSS 功能更强大,并且也更可控.
相比之下,Qt中是以原生api为主,来控制控件之间的尺寸,位置等,QSS只是起到辅助的作用.
而且Qt中提供的一些"组合控件"(像QComboBox, QSpinBox等)内部的结构是不透明的,此时进行一些样式设置也会存在一定的局限性.
另外,做出好看的界面,光靠QSS是不够的.更重要的是需要专业美工做出设计稿.
因此通过QSS的学习,我们的目的是了解这个技术,而不要求大家立即就能做出非常好看的界面.