轻松打造Windows 11风格Python应用界面
你是不是和大多数python琛一样的想法? 写了个Python程序,功能齐全,但界面像上世纪90年代的老古董……别担心.
python琛带你用PyQt 窗口和py-window-styles,5分钟让它变成Windows 11 风格,颜值翻倍!
带你用PyQt 窗口开发库,轻松实现这个目标。这玩意儿听着高端,其实就像堆乐高,拼一拼就能搞出个像样的UI。
更重要的是,我们会用到一个叫py-window-styles的小工具,就像给窗口穿上潮流服装,瞬间提升颜值,让你的程序秒变现代感十足的Windows 11 风格界面。
1. 安装PyQt5和py-window-styles
先把工具箱备好,打开命令行敲:
pip install PyQt5 py-window-styles
网速慢?趁机刷刷短视频或者喂个猫,都比干等着有趣!
温馨提示: 如果装不上,换个镜像源试试,代码如下:
pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install py-window-styles -i https://pypi.tuna.tsinghua.edu.cn/simple
2. 创建一个基础PyQt窗口
先搞个简易窗口试试水:
from PyQt5.QtWidgets import QApplication, QWidget
import sys
app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle('我的第一个PyQt窗口')
window.resize(800, 600)
window.show()
sys.exit(app.exec_())
代码拆解—别怕,它其实很简单!
QApplication 是程序的幕后大佬,负责调度和管理所有任务,堪称总指挥官。
QWidget 是个空白窗口,相当于一张画布。
setWindowTitle 设置窗口标题。
resize 调整窗口大小。
show 把窗口秀出来!不给它露脸怎么行?
运行一下,这窗口有点像素裸奔,还缺少Windows 11 风格的气质,别急,继续往下走。
3. 给窗口加点Windows 11风格的味道
现在用py-window-styles美化一下,变个身:
from PyQt5.QtWidgets import QApplication, QWidget
from py_window_styles import apply_windows_11_style
import sys
app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle('Win11风格的PyQt窗口')
window.resize(800, 600)
# 应用Windows 11样式
apply_windows_11_style(window)
window.show()
sys.exit(app.exec_())
解释一下:
apply_windows_11_style 是关键,一键把Windows 11 风格样式加上。
窗口会变得圆润、带阴影和半透明,看着高大上。
温馨提示: 样式没变化?可能你的电脑害羞,检查下DirectX或显卡驱动,给它来点‘美颜滤镜’再试!
4. 添加按钮和输入框,提高交互感
界面有了,还得动起来,加点交互玩玩。
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLineEdit, QVBoxLayout
from py_window_styles import apply_windows_11_style
import sys
app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle('Win11风格的交互界面')
window.resize(400, 300)
# 添加输入框和按钮
layout = QVBoxLayout()
input_box = QLineEdit()
input_box.setPlaceholderText('请输入文字...')
button = QPushButton('点击我!')
layout.addWidget(input_box)
layout.addWidget(button)
window.setLayout(layout)
# 套用Windows 11风格
apply_windows_11_style(window)
window.show()
sys.exit(app.exec_())
代码拆解:
QVBoxLayout 控制组件垂直排列。
QLineEdit 输入框,用户输入点啥。
QPushButton 按钮,后面会让它动起来。
5. 给按钮添加点击事件
按下按钮,要么弹窗,要么改文字,总得有点反应。
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLineEdit, QVBoxLayout, QMessageBox
from py_window_styles import apply_windows_11_style
import sys
app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle('按钮事件测试')
window.resize(400, 300)
layout = QVBoxLayout()
input_box = QLineEdit()
input_box.setPlaceholderText('请输入文字...')
button = QPushButton('点击我!')
# 绑定按钮点击事件
def on_button_click():
text = input_box.text()
QMessageBox.information(window, '提示', f'你输入了: {text}')
button.clicked.connect(on_button_click)
layout.addWidget(input_box)
layout.addWidget(button)
window.setLayout(layout)
apply_windows_11_style(window)
window.show()
sys.exit(app.exec_())
6. 小细节和优化建议
输入框默认提示:用
setPlaceholderText
帮用户理解输入内容。按钮状态控制:动态控制按钮状态,防止误操作。
窗口大小锁定:
setFixedSize
避免拖得太离谱。
更多探索的方向
用Python结合PyQt 窗口和py-window-styles,短短几行代码就能从简陋到精致一键飞跃。如果你喜欢折腾,还可以尝试加表格、图表甚至网络请求,把界面做得更酷炫。
代码也要讲究颜值,继续折腾,让你的应用越来越酷!下次试试加个文件上传功能,或者整点图表分析,玩的花样越多,才越显专业。