概要
抱歉呀各位,我几乎每章都会把前一章的代码修改一下bug,这次也不例外,我又又又又改了,放心吧,原理是不会变的,只是一些东西忽视了就把它修复修复,期间时间关系,一些已知bug没修复
这一章主要为大家讲一下各个组件的stylesheet长什么样,这里会用到.stylesheet()方法
qt5 的外观是根据qss 来设置的,qss 大概就是 css2的魔改版本,有好多东西是共通的,但也有些按着它自己的个性来
按钮
用qt designer画过之后都会用setobjectname命名好了,而stylesheet会用到它
QPushbutton#play 这个方法就是像选取id一样的选取当前setobjectname命名的按钮
QPushbutton#play::hover 按钮经过的效果
QPushbutton#play::pressed 按钮按下去之后的效果
滑动条
QSlider::groove:horizontal
QSlider::groove:vertical#滑动条横/竖条
QSlider::handle:horizontal#滑动条指针
表格
表格里面已经给你继承了一个QScrollBar 所以在做stylesheet的时候需要把它也考虑到里面,要说的是,它是不支持 QScrollBar单独设置的,它只能 QScrollBar:horizontal,QScrollBar:vertical,各写一份
QHeaderView 是表头位置
QTableWidget 是表格背景和外框
layout,这个无须多讲,是必要的,但比较简单,跟上面的长的差不多
主窗口
首先我们要隐藏titlebar ,因为妨碍了我们做个性化,然后主窗口我们想把它弄成圆角的 ,单纯使用border-radius 是无法做到的,所以我们也要把窗口背景隐藏,然后我们再加一个和主窗口一毛一样大小label,把它设置成圆角就可以了
嗯就是用的这几个方法
self.setAttribute(Qt.WA_TranslucentBackground)#透明背景
self.setWindowFlags(Qt.FramelessWindowHint)#隐藏titlebar
self.setMinimumSize(self.window_width,self.window_height)#令它无法更改大小
然后…
嗯当你打开的时候你会发现,隐藏了titlebar之后,关闭和最小化按钮也没了,我们需要用到,所以我把之前的Qwidget 为窗口的改为QmainWindow ,因为只有QmainWindow 才可以调用 close 和 showMinimize 方法,然后现在的窗口是不能移动的,所以下一期我们会讲mouseevent