使用QtDesigner设计GUI界面,然后进行简单的美化。

1、设计界面

新建项目文件夹pyside_start,并使用VSCode打开,在该项目文件夹下新建ui目录,然后右键New Form,打开QtDesigner工具设计好如下界面: image-20220316100732379 然后选择菜单 窗体->View Python Code ,点击复制全部,将复制的代码保存在ui文件夹下 main_ui.py。

2、主文件

在项目目录下新建main.py文件,调用生成的界面,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import sys
from PySide2.QtWidgets import *
from PySide2.QtCore import *
from PySide2.QtGui import *

from ui.main_ui import Ui_MainWindow

class MainWindow(Ui_MainWindow, QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.setupUi(self)

self.pushButton.clicked.connect(self.on_pushbutton)

def on_pushbutton(self):
msgbox = QMessageBox.information(self,"msg","you login succeed!")

if __name__ == "__main__":
app = QApplication(sys.argv)

mwin = MainWindow()
mwin.show()

sys.exit(app.exec_())

点击运行可以正常显示窗口。

3、简单美化

使用一个库简单美化下,需要先安装好qtmodern这个库,在main函数添加如下代码即可:

1
2
3
4
5
6
7
8
9
10
11
12
if __name__ == "__main__":
app = QApplication(sys.argv)


mwin = MainWindow()

qtmodern.styles.dark(app)
win = qtmodern.windows.ModernWindow(mwin)

win.show()

sys.exit(app.exec_())

然后设置好标题和logo,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
if __name__ == "__main__":
app = QApplication(sys.argv)

app.setWindowIcon(QIcon("monkey2.ico"))

mwin = MainWindow()
mwin.setWindowTitle("pyside start example")

qtmodern.styles.dark(app)
win = qtmodern.windows.ModernWindow(mwin)

win.show()

sys.exit(app.exec_())

最终效果如下: image-20220316124209719 如果进行打包,可以使用PyInstaller或Nuitka,参考这个文章:https://www.pythonguis.com/tutorials/packaging-pyside2-applications-windows-pyinstaller/ 代码仓库:https://github.com/makerinchina-iot/Monkey-Helper-Tools-py