当前位置:   article > 正文

PyQt 主题设置(对界面进行美化)_使用qss美化pyqt界面,分享6套超赞皮肤-知乎

使用qss美化pyqt界面,分享6套超赞皮肤-知乎

实现效果:

  1. 主题切换
  2. 在下次打开后,适配历史主题
  3. 主题内容包括:背景、控件样式

实现原理:

使用ui编辑界面,我们常用右边的属性栏styleSheet来编辑此控件的样式表内容实现单个控件样式的编辑,而实现主题的切换,实质是批量对所有控件进行样式编辑,这种方法就适用于内容较多,且不方便在程序中编写

实现过程:

我们将所需控件的属性通过编写.Qss文件(也可以直接找现成的)。

在编写多个主题后,加入需适配的界面文件。

下拉框遍历读取主题,读取内容进行主题设置

设置主题,建立历史记忆。

代码分享:

主题文件结构为:

--style

        --QSS-master

                --主题1.qss

                --主题2.qss

        --QSS-now

                --NOW.qss

代码:

  1. self.SET()#主题检测
  2. # 初始化主题下拉框
  3. Drop_downBoxContent = self.get_path_file()
  4. for i in Drop_downBoxContent: # 遍历添加
  5. self.comboBox.addItem(i)
  6. # 获取内容进行主题设置
  7. self.comboBox.currentTextChanged.connect(self.setstyles)
  8. def SET(self):
  9. """
  10. 设置初始量
  11. :return:
  12. """
  13. # 检测设置是否被更新
  14. b = os.path.exists("./style/QSS-now/NOW.qss")#主题
  15. if b == True:
  16. # 1、QSS直接导
  17. style_file = "./style/QSS-now/NOW.qss"
  18. # 2、读取样式文件内容
  19. with open(style_file, "r", encoding="UTF-8") as file:
  20. # 3、加载读取的样式内容
  21. self.style_sheet = file.read()
  22. # 4、完成设置
  23. self.setStyleSheet(self.style_sheet)
  24. self.style = self.style_sheet
  25. def setstyles(self):
  26. """
  27. 设置主题风格
  28. """
  29. style = self.comboBox.currentText()
  30. # 地址拼接
  31. self.file_address = "./style/QSS-master/" + style + r".qss"
  32. # 主题设置
  33. # 1、QSS直接导
  34. style_file = self.file_address
  35. # 2、读取样式文件内容
  36. with open(style_file, "r", encoding="UTF-8") as file:
  37. # 3、加载读取的样式内容
  38. self.style_sheet = file.read()
  39. # 4、完成设置
  40. self.setStyleSheet(self.style_sheet)
  41. # 5、建立历史记忆
  42. self.file_usering = "./style/QSS-now/" + "NOW" + r".qss"
  43. shutil.copyfile(self.file_address, self.file_usering)

辅助工具:

编写qss工具:QssStylesheetEditor

QSS是来源于CSS,算是Qt定制版的一个CSS子集,可参考

深入了解CSS:CSS 教程

现成qss:

使用QSS美化PyQt界面,分享6套超赞皮肤 - muzing的文章 - 知乎 https://zhuanlan.zhihu.com/p/390192953

学习过程记录,如有问题,望指正(手动鞠躬)!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/315857
推荐阅读
相关标签
  

闽ICP备14008679号