代码来自:Python GUI教程(十六):在PyQt5中美化和装扮图形界面https://zmister.com/archives/477.html

# coding:utf-8
from PyQt5 import QtCore,QtGui,QtWidgets
import sys
import qtawesomeclass MainUi(QtWidgets.QMainWindow):def __init__(self):super().__init__()self.init_ui()def init_ui(self):self.setFixedSize(960,700)self.main_widget = QtWidgets.QWidget() # 创建窗口主部件self.main_layout = QtWidgets.QGridLayout() # 创建主部件的网格布局self.main_widget.setLayout(self.main_layout)self.left_widget = QtWidgets.QWidget() # 创建左侧部件self.left_widget.setObjectName('left_widget') # 设置名字是为了方便设置样式self.left_layout = QtWidgets.QGridLayout() # 创建左侧部件的网格布局self.left_widget.setLayout(self.left_layout)self.left_widget.setStyleSheet('''QWidget#left_widget{background:gray;border-top:1px solid white;border-bottom:1px solid white;border-left:1px solid white;border-top-left-radius:10px;border-bottom-left-radius:10px;}QPushButton{border:none;color:white;} QPushButton#left_label{border:none;border-bottom:1px solid white;font-size:18px;font-weight:700;font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;}QPushButton#left_button:hover{border-left:4px solid red;font-weight:700;}''') # 设置左侧菜单背景为灰色,按钮和文字颜色为白色,并且将按钮的边框去掉self.right_widget = QtWidgets.QWidget() # 创建右侧部件self.right_widget.setObjectName('right_widget')self.right_layout = QtWidgets.QGridLayout() # 设置右侧部件布局为网格self.right_widget.setLayout(self.right_layout)self.right_widget.setStyleSheet('''QWidget#right_widget{color:#232C51;background:white;border-top:1px solid darkGray;border-bottom:1px solid darkGray;border-right:1px solid darkGray;border-top-right-radius:10px;border-bottom-right-radius:10px;} QLabel#right_label{border:none;font-size:16px;font-weight:700;font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;}''') # 设置为圆角,背景为白色。label字体放大self.main_layout.addWidget(self.left_widget, 0, 0, 13, 2) # 左侧部件在第0行第0列,占13行3列self.main_layout.addWidget(self.right_widget, 0, 2, 13, 9) # 右侧部件在第0行第2列,占13行9列self.setCentralWidget(self.main_widget) # 设置窗口主部件self.left_close = QtWidgets.QPushButton("") # 关闭按钮self.left_close.setFixedSize(15, 15) # 设置按钮大小self.left_close.setStyleSheet('''QPushButton{background:#F76677;border-radius:5px;}QPushButton:hover{background:red;}''') # 设置按钮样式,默认为淡色,鼠标悬浮是深色self.left_visit = QtWidgets.QPushButton("") # 空白按钮self.left_visit.setFixedSize(15, 15)self.left_visit.setStyleSheet('''QPushButton{background:#F7D674;border-radius:5px;}QPushButton:hover{background:yellow;}''')self.left_mini = QtWidgets.QPushButton("") # 最小化按钮self.left_mini.setFixedSize(15, 15)self.left_mini.setStyleSheet('''QPushButton{background:#6DDF6D;border-radius:5px;}QPushButton:hover{background:green;}''')self.left_label_1 = QtWidgets.QPushButton("每日推荐")self.left_label_1.setObjectName('left_label')self.left_label_2 = QtWidgets.QPushButton("我的音乐")self.left_label_2.setObjectName('left_label')self.left_label_3 = QtWidgets.QPushButton("联系与帮助")self.left_label_3.setObjectName('left_label')self.left_button_1 = QtWidgets.QPushButton(qtawesome.icon('fa.music', color = 'white'), "华语流行")self.left_button_1.setObjectName('left_button')self.left_button_2 = QtWidgets.QPushButton(qtawesome.icon('fa.sellsy', color = 'white'), "在线FM")self.left_button_2.setObjectName('left_button')self.left_button_3 = QtWidgets.QPushButton(qtawesome.icon('fa.film', color = 'white'), "热门MV")self.left_button_3.setObjectName('left_button')self.left_button_4 = QtWidgets.QPushButton(qtawesome.icon('fa.home', color = 'white'), "本地音乐")self.left_button_4.setObjectName('left_button')self.left_button_5 = QtWidgets.QPushButton(qtawesome.icon('fa.download', color = 'white'), "下载管理")self.left_button_5.setObjectName('left_button')self.left_button_6 = QtWidgets.QPushButton(qtawesome.icon('fa.heart', color = 'white'), "我的收藏")self.left_button_6.setObjectName('left_button')self.left_button_7 = QtWidgets.QPushButton(qtawesome.icon('fa.comment', color = 'white'), "反馈建议")self.left_button_7.setObjectName('left_button')self.left_button_8 = QtWidgets.QPushButton(qtawesome.icon('fa.star', color = 'white'), "关注我们")self.left_button_8.setObjectName('left_button')self.left_button_9 = QtWidgets.QPushButton(qtawesome.icon('fa.question', color = 'white'), "遇到问题")self.left_button_9.setObjectName('left_button')self.left_layout.addWidget(self.left_close, 0, 0, 1, 1)self.left_layout.addWidget(self.left_visit, 0, 1, 1, 1)self.left_layout.addWidget(self.left_mini, 0, 2, 1, 1)self.left_layout.addWidget(self.left_label_1, 1, 0, 1, 3)self.left_layout.addWidget(self.left_button_1, 2, 0, 1, 3)self.left_layout.addWidget(self.left_button_2, 3, 0, 1, 3)self.left_layout.addWidget(self.left_button_3, 4, 0, 1, 3)self.left_layout.addWidget(self.left_label_2, 5, 0, 1, 3)self.left_layout.addWidget(self.left_button_4, 6, 0, 1, 3)self.left_layout.addWidget(self.left_button_5, 7, 0, 1, 3)self.left_layout.addWidget(self.left_button_6, 8, 0, 1, 3)self.left_layout.addWidget(self.left_label_3, 9, 0, 1, 3)self.left_layout.addWidget(self.left_button_7, 10, 0, 1, 3)self.left_layout.addWidget(self.left_button_8, 11, 0, 1, 3)self.left_layout.addWidget(self.left_button_9, 12, 0, 1, 3)self.right_bar_widget = QtWidgets.QWidget() # 右侧顶部搜索框部件self.right_bar_layout = QtWidgets.QGridLayout() # 右侧顶部搜索框网格布局self.right_bar_widget.setLayout(self.right_bar_layout)self.right_bar_widget.setStyleSheet('''QLineEdit{border:1px solid gray;width:300px;border-radius:10px;padding:2px 4px;}''')#设置为圆角self.search_icon = QtWidgets.QLabel(chr(0xf002) + '搜索')self.search_icon.setFont(qtawesome.font('fa', 16))self.search_iput = QtWidgets.QLineEdit()self.search_iput.setPlaceholderText('输入歌手、歌曲或用户,回车进行搜索')self.right_bar_layout.addWidget(self.search_icon, 0, 0, 1, 1)self.right_bar_layout.addWidget(self.search_iput, 0, 1, 1, 8)self.right_recommend_label = QtWidgets.QLabel("今日推荐")self.right_recommend_label.setObjectName('right_label')self.right_recommend_widget = QtWidgets.QWidget() # 推荐封面部件self.right_recommend_layout = QtWidgets.QGridLayout() # 推荐封面网格布局self.right_recommend_widget.setLayout(self.right_recommend_layout)self.right_recommend_widget.setStyleSheet('''QToolButton{border:none;}QToolButton:hover{border-bottom:2px solid #F76677;}''') # 去除边框self.right_recommend_buttton1 = QtWidgets.QToolButton()self.right_recommend_buttton1.setText('可馨HANM') # 设置按钮文本self.right_recommend_buttton1.setIcon(QtGui.QIcon('./ri.jpg')) # 设置按钮图标self.right_recommend_buttton1.setIconSize(QtCore.QSize(100,100)) # 设置图标大小self.right_recommend_buttton1.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon) # 设置按钮形式为上图下文self.right_recommend_buttton2 = QtWidgets.QToolButton()self.right_recommend_buttton2.setText('可馨HANM')self.right_recommend_buttton2.setIcon(QtGui.QIcon('./ri.jpg'))self.right_recommend_buttton2.setIconSize(QtCore.QSize(100,100))self.right_recommend_buttton2.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)self.right_recommend_buttton3 = QtWidgets.QToolButton()self.right_recommend_buttton3.setText('可馨HANM')self.right_recommend_buttton3.setIcon(QtGui.QIcon('./ri.jpg'))self.right_recommend_buttton3.setIconSize(QtCore.QSize(100,100))self.right_recommend_buttton3.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)self.right_recommend_buttton4 = QtWidgets.QToolButton()self.right_recommend_buttton4.setText('可馨HANM')self.right_recommend_buttton4.setIcon(QtGui.QIcon('./ri.jpg'))self.right_recommend_buttton4.setIconSize(QtCore.QSize(100,100))self.right_recommend_buttton4.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)self.right_recommend_buttton5 = QtWidgets.QToolButton()self.right_recommend_buttton5.setText('可馨HANM')self.right_recommend_buttton5.setIcon(QtGui.QIcon('./ri.jpg'))self.right_recommend_buttton5.setIconSize(QtCore.QSize(100,100))self.right_recommend_buttton5.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)self.right_recommend_layout.addWidget(self.right_recommend_buttton1, 0, 0)self.right_recommend_layout.addWidget(self.right_recommend_buttton2, 0, 1)self.right_recommend_layout.addWidget(self.right_recommend_buttton3, 0, 2)self.right_recommend_layout.addWidget(self.right_recommend_buttton4, 0, 3)self.right_recommend_layout.addWidget(self.right_recommend_buttton5, 0, 4)self.right_newsong_label = QtWidgets.QLabel("最新歌曲")self.right_newsong_label.setObjectName('right_label')self.right_newsong_widget = QtWidgets.QWidget() # 最新歌曲部件self.right_newsong_layout = QtWidgets.QGridLayout() # 最新歌曲部件网格布局self.right_newsong_widget.setLayout(self.right_newsong_layout)self.right_newsong_widget.setStyleSheet('''QPushButton{border:none;color:gray;font-size:12px;height:40px;padding-left:5px;padding-right:10px;text-align:left;}QPushButton:hover{color:black;border:1px solid #F3F3F5;border-radius:10px;background:LightGray;}''') # 去除边框,修改字体和颜色等self.newsong_button1 = QtWidgets.QPushButton("夜机 陈慧娴 永远的朋友 03::29")self.newsong_button2 = QtWidgets.QPushButton("夜机 陈慧娴 永远的朋友 03::29")self.newsong_button3 = QtWidgets.QPushButton("夜机 陈慧娴 永远的朋友 03::29")self.newsong_button4 = QtWidgets.QPushButton("夜机 陈慧娴 永远的朋友 03::29")self.newsong_button5 = QtWidgets.QPushButton("夜机 陈慧娴 永远的朋友 03::29")self.newsong_button6 = QtWidgets.QPushButton("夜机 陈慧娴 永远的朋友 03::29")self.right_newsong_layout.addWidget(self.newsong_button1, 0, 0)self.right_newsong_layout.addWidget(self.newsong_button2, 1, 0)self.right_newsong_layout.addWidget(self.newsong_button3, 2, 0)self.right_newsong_layout.addWidget(self.newsong_button4, 3, 0)self.right_newsong_layout.addWidget(self.newsong_button5, 4, 0)self.right_newsong_layout.addWidget(self.newsong_button6, 5, 0)self.right_hotsong_label = QtWidgets.QLabel("热门歌单")self.right_hotsong_label.setObjectName('right_label')self.right_hotsong_widget = QtWidgets.QWidget() # 热门歌单部件self.right_hotsong_layout = QtWidgets.QGridLayout() # 热门歌单网格布局self.right_hotsong_widget.setLayout(self.right_hotsong_layout)self.right_hotsong_widget.setStyleSheet('''QToolButton{border:none;}QToolButton:hover{border-bottom:2px solid #F76677;}''') # 去除边框self.hotsong_buttton1 = QtWidgets.QToolButton()self.hotsong_buttton1.setText('可馨HANM')self.hotsong_buttton1.setIcon(QtGui.QIcon('./ri.jpg'))self.hotsong_buttton1.setIconSize(QtCore.QSize(100,100))self.hotsong_buttton1.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)self.hotsong_buttton2 = QtWidgets.QToolButton()self.hotsong_buttton2.setText('可馨HANM')self.hotsong_buttton2.setIcon(QtGui.QIcon('./ri.jpg'))self.hotsong_buttton2.setIconSize(QtCore.QSize(100,100))self.hotsong_buttton2.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)self.hotsong_buttton3 = QtWidgets.QToolButton()self.hotsong_buttton3.setText('可馨HANM')self.hotsong_buttton3.setIcon(QtGui.QIcon('./ri.jpg'))self.hotsong_buttton3.setIconSize(QtCore.QSize(100,100))self.hotsong_buttton3.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)self.hotsong_buttton4 = QtWidgets.QToolButton()self.hotsong_buttton4.setText('可馨HANM')self.hotsong_buttton4.setIcon(QtGui.QIcon('./ri.jpg'))self.hotsong_buttton4.setIconSize(QtCore.QSize(100,100))self.hotsong_buttton4.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)self.right_hotsong_layout.addWidget(self.hotsong_buttton1, 0, 0)self.right_hotsong_layout.addWidget(self.hotsong_buttton2, 0, 1)self.right_hotsong_layout.addWidget(self.hotsong_buttton3, 1, 0)self.right_hotsong_layout.addWidget(self.hotsong_buttton4, 1, 1)self.right_process_bar = QtWidgets.QProgressBar() # 播放进度条self.right_process_bar.setValue(49)self.right_process_bar.setFixedHeight(3) # 设置进度条高度self.right_process_bar.setTextVisible(False) # 不显示进度条文字self.right_process_bar.setStyleSheet('''QProgressBar::chunk {background-color: #F76677;}''') # 设置为浅红色self.right_playconsole_widget = QtWidgets.QWidget() # 播放控制部件self.right_playconsole_layout = QtWidgets.QGridLayout() # 播放控制部件网格布局self.right_playconsole_widget.setLayout(self.right_playconsole_layout)self.right_playconsole_widget.setStyleSheet('''QPushButton{border:none;}''') # 去除边框self.console_button_1 = QtWidgets.QPushButton(qtawesome.icon('fa.backward', color='#F76677'), "")self.console_button_2 = QtWidgets.QPushButton(qtawesome.icon('fa.forward', color='#F76677'), "")self.console_button_3 = QtWidgets.QPushButton(qtawesome.icon('fa.pause', color='#F76677', font=18), "")self.console_button_3.setIconSize(QtCore.QSize(30,30))self.right_playconsole_layout.addWidget(self.console_button_1, 0, 0)self.right_playconsole_layout.addWidget(self.console_button_3, 0, 1)self.right_playconsole_layout.addWidget(self.console_button_2, 0, 2)self.right_playconsole_layout.setAlignment(QtCore.Qt.AlignCenter) # 设置布局内部件居中显示self.right_layout.addWidget(self.right_bar_widget, 0, 0, 1, 9)self.right_layout.addWidget(self.right_recommend_label, 1, 0, 1, 9)self.right_layout.addWidget(self.right_recommend_widget, 2, 0, 2, 9)self.right_layout.addWidget(self.right_newsong_label, 4, 0, 1, 5)self.right_layout.addWidget(self.right_hotsong_label, 4, 5, 1, 4)self.right_layout.addWidget(self.right_newsong_widget, 5, 0, 1, 5)self.right_layout.addWidget(self.right_hotsong_widget, 5, 5, 1, 4)self.right_layout.addWidget(self.right_process_bar, 9, 0, 1, 9)self.right_layout.addWidget(self.right_playconsole_widget, 10, 0, 1, 9)self.setWindowOpacity(0.9) # 设置窗口透明度self.setAttribute(QtCore.Qt.WA_TranslucentBackground) # 设置窗口背景透明self.setWindowFlag(QtCore.Qt.FramelessWindowHint) # 隐藏边框self.main_layout.setSpacing(0) # 隐藏缝隙def main():app = QtWidgets.QApplication(sys.argv)gui = MainUi()gui.show()sys.exit(app.exec_())if __name__ == '__main__':main()

州的先生 python界面 代码完整版(注释)相关推荐

  1. python3入门与进阶笔记_16_变量进阶 — 黑马程序员《Python入门教程完整版》笔记...

    变量进阶(理解) - 黑马程序员<Python入门教程完整版>笔记 目标变量的引用 可变和不可变类型 局部变量和全局变量 01. 变量的引用变量 和 数据 都是保存在 内存 中的 在 Py ...

  2. 用Python画佩奇完整版

    用Python画佩奇完整版 文章完全是依照这篇博客写的 啥是佩奇,Python 告诉你! 想把这篇博客完善一下,大致没有多大变化,从本质来说就加个身体的函数,由于本人水平有限,编译的代码有点繁琐,希望 ...

  3. python设计游戏的背景_04_游戏背景 — 黑马程序员《Python入门教程完整版》笔记...

    游戏背景 黑马程序员<Python入门教程完整版>笔记 - 黑马程序员<Python入门教程完整版>笔记 目标背景交替滚动的思路确定 显示游戏背景 01. 背景交替滚动的思路确 ...

  4. 操作系统课设附代码完整版(出自19级jhy课设)

    操作系统课设附代码完整版 出自19级jhy课设 摘要 为了检验自己的操作系统课程的学习情况与掌握程度,以及将该课程知识用编程语言描述的技能,本次选择"并发环境下作业管理与连续动态内存管理的模 ...

  5. python入门教程完整版(懂中文就能学会)-Python入门教程完整版(懂中文就能学会)...

    不过小编的内心是强大的,网友虐我千百遍,我待网友如初恋,因为今天又给大家带来了干货,Python入门教程完整版,完整版啊!完整版! 言归正传,小编该给大家介绍一下这套教程了,希望每个小伙伴都沉迷学习, ...

  6. python教程视频完整版-Python教程视频完整版

    原标题:Python教程视频完整版 Python是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的.随着人工智能的发展,Python这门语言也 ...

  7. 2021电工杯B题建模思路代码完整版

    2021电工杯B题思路和代码完整版 2021"中国电机工程学会杯"全国大学生电工数学建模竞赛B题思路代码完整版+参考文献,内容如下,可分享-

  8. Python入门教程完整版

    今天本宝宝给大家带来了干货,Python入门教程完整版,完整版啊!完整版! 言归正传,我来给大家介绍一下这套教程,希望每个小伙伴都沉迷学习,无法自拔! 本套教程学习时间15天 1-3天内容:为Linu ...

  9. C语言2进制除法口诀表代码完整版正确版本

    2进制转换运算输出所有结果代码完整版正确版本 2进制除法口诀表代码完整版正确版本 #include<stdio.h> #define N 2 int trans(int j) { if ( ...

最新文章

  1. OpenCV YUV 与 RGB的互转(草稿)
  2. Vue.JS实现垂直方向展开、收缩不定高度模块的JS组件
  3. [LeetCode] Find All Numbers Disappeared in an Array 找出数组中所有消失的数字
  4. 一般筛法和快速线性筛法求素数 求素数的一点总结
  5. Spark Shuffle系列-----1. Spark Shuffle与任务调度之间的关系
  6. linux脚本expect分区,linux – 从不同位置执行Expect脚本
  7. Spring Boot Transactional注解源码阅读笔记(二)
  8. 淘云互动机器人_新时代!新机遇!讯飞淘云2018年全国经销商年终大会隆重召开!...
  9. python求解括号匹配的相关问题
  10. Layui 中引入Echarts模块
  11. arm cpu的架构及分类说明
  12. 自己不能跑的车凭什么叫自行车?B站硬核up主把自行车做成了自动驾驶
  13. 高中 信息科技 计算机网络 课件,初中信息技术课件第一课--认识计算机网络.ppt...
  14. java 1.5 jdk_jdk1.5安装及配置
  15. 推荐9款便签云生成工具
  16. hosts文件位置以及如何修改hosts文件【Windows】【以github为例】
  17. 计算机鼠标一直转圈圈 打不开文件,win7系统打开文件夹时鼠标右键一直转圈怎么办?通过bat文件来解决...
  18. 侍魂微信第一个服务器,侍魂手游2019年4月12日微信问答试炼答案
  19. “不差钱”的蔚来,为何着急回港上市?
  20. 实战篇ConstraintLayout的崛起之路

热门文章

  1. 领悟非凡,只有西方人才能做出来的效果。。。不是技术,而是人文和胸怀
  2. Postgres-XL数据库集群在RedHat/Fedora/Oracle/CentOS平台上的搭建
  3. DreamFacotry 第4章 如何保护REST API
  4. 南岸焊接机器人厂_严选原料,机器人焊接,探秘能达到奔驰标准的亿利生产线...
  5. 【JAVA 第三章 流程控制语句】课后习题 找零钱
  6. 【HTML】简单实现网页加载动画
  7. C#LeetCode刷题-程序员面试金典
  8. 数据库代码编写_如何将您的职业转变为数据科学-即使您今天不编写代码。
  9. 创新品牌体验团队_如何推动软件团队创新
  10. hacker代码_如何仅用7行R代码构建Hacker News Frontpage抓取工具