你是不是和大多数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. 小细节和优化建议

  1. 输入框默认提示:用setPlaceholderText帮用户理解输入内容。

  2. 按钮状态控制:动态控制按钮状态,防止误操作。

  3. 窗口大小锁定setFixedSize避免拖得太离谱。


更多探索的方向

用Python结合PyQt 窗口py-window-styles,短短几行代码就能从简陋到精致一键飞跃。如果你喜欢折腾,还可以尝试加表格、图表甚至网络请求,把界面做得更酷炫。

代码也要讲究颜值,继续折腾,让你的应用越来越酷!下次试试加个文件上传功能,或者整点图表分析,玩的花样越多,才越显专业。