上一集所介绍的自定义控件的内容,大家可能意犹未尽,但我只能写那么多内容,因为我自己也才到达那个程度,其他更深的内容还需要在今后的学习中不断去提高。那么,我今天想给大家介绍的内容是关于UI界面美化的,就是如何让图形化界面更加美观。
首先,让大家看一个美化后的UI界面(可能并不美观)。
其实很简单,只需要在上集代码的基础上,添加下面的代码,就可以看到效果了!
self.setStyleSheet('QMainWindow{background:white}')
edit_style = '''
QLineEdit{
border:1px solid gray;
width:100px;
border-radius:10px;
padding:2px 4px;
background: pink;
color: purple;
}
'''
self.custom_edit.setStyleSheet(edit_style)
pad = 2
per_h = 16
max_h = self.h - 40
list_style = '''
QListView{
border: 1px solid gray;
min-width: 100px;
max-width: %spx;
max-height: %spx;
background-color: yellow;
border-radius:10px;
}
QListView::item{
padding-bottom: %spx;
min-height: %spx;
border-bottom: 1px solid gray;
}
''' % (self.w, max_h, pad, per_h)
self.custom_edit.text_list.setStyleSheet(list_style)
list_h = (pad + per_h + 2) * len(data_list)
list_h = min(max_h, list_h)
self.custom_edit.text_list.setFixedSize(120, list_h)
大家肯定一眼就发现了美化UI的关键,对,那就是:
edit_style = '''
QLineEdit{
border:1px solid gray;
width:100px;
border-radius:10px;
padding:2px 4px;
background: pink;
color: purple;
}
'''
list_style = '''
QListView{
border: 1px solid gray;
min-width: 100px;
max-width: %spx;
max-height: %spx;
background-color: yellow;
border-radius:10px;
}
QListView::item{
padding-bottom: %spx;
min-height: %spx;
border-bottom: 1px solid gray;
}
''' % (self.w, max_h, pad, per_h)
这段文本叫做qss语法,和html里的css有异曲同工之妙!所以,大家知道如何美化UI了吧!
什么?还不知道?
那可以看看下面这篇文章:
Python GUI教程(十六):在PyQt5中美化和装扮图形界面
这位大大的教程可比我的要好多了!希望大家可以学到自己想要的知识!
下一集,我将把自己在学习PyQt的过程中用过的一些小技巧告诉大家,敬请关注哦~