170325 PyQt5-Label背景颜色和文本颜色的设置

时间:2021-07-30 23:00:06

1625-5 王子昂 总结《2017年3月25日》 【连续第175天总结】

A.PyQt5背景颜色和文本颜色的修改

B.字体颜色还简单,只需要使用QFontDialog标准对话框方法得到所选的font,然后使用label自带的方法setFont()设置即可

倒是设置颜色稍微麻烦了一点:网上教程大都是PyQt4的

最后没办法,决定使用styleSheet来设置。先试着使用Qt Designer设计试试,代码出来为:

color: rgb(255, 6, 10);\nbackground-color: rgb(114, 58, 255);

QColorDialog方法返回的是一个QColor对象,去交互命令行里查询了它的相关方法,有用的是rgb()和name()

使用StyleSheet重要的问题在于如何自动更新或增加新的StyleSheet。如果直接在原有字符串上增加新的backgroud-color/color势必会影响原有的格式。

最终使用了在类内通用保存的两个变量来保存name,每次更新StyleSheet都重新set即可

代码:

def choose_font(self):
font, ok = QFontDialog.getFont()
if ok:
self.ui.preview_text.setFont(font)

def choose_col(self):
col = QColorDialog.getColor()
if col.isValid():
self.backcol=col.name()
self.ui.preview_text.setStyleSheet('background-color:%s;\ncolor:%s' % (self.backcol,self.col))
def choose_col2(self):
col=QColorDialog.getColor()
if col.isValid():
self.col=col.name()
self.ui.preview_text.setStyleSheet('background-color:%s;\ncolor:%s;' % (self.backcol,self.col))
 
明天就研究服务器和客户端的连接和数据传输啦
C.明日计划
PyQt5服务器和客户端的连接