Python GUI安装

GUI就是图形用户界面的意思,在Python中使用PyQt可以快速搭建自己的应用,使得自己的程序看上去更加高大上,学会GUI编程可以使得自己的软件有可视化的结果。
如果你想用Python快速制作界面,可以安装PyQt:

pip install pyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple

随后继续安装 QtDesigner

pip install pyqt5-tools  -i https://pypi.tuna.tsinghua.edu.cn/simple --user

PyCharm添加外部工具界面

点击PyCharm的File->Settings->Tools->External tools打开外部工具界面,点‘+'号进入添加外部工具界面。在‘Name’处输入工具名称,这个名称可以随便取,我这里写的是Qt designer

将路径复制到‘Programs’处,注意要包含designer.exe的文件名。Working directory处设置自己的工作路径,qtdesigner生成的ui文件会默认保存在该路径。‘Arguments’不用设置,确认即可。
在这里插入图片描述
接下来,按同样的方法添加pyuic,pyuic用于将qtdesigner生成的.ui文件转换成python可以识别的.py文件。其设置过程如下图所示,
在这里插入图片描述

Programs处输入python.exe所在的路径和文件名,Arguments处输入:

-m PyQt5.uic.pyuic -o $FileNameWithoutExtension$.py $FileName$

Working directory处输入:

$FileDir$

这样生成的py文件就会和被转换的ui文件位于相同的文件夹下。点击ok完成设置。

界面设计测试小程序

打开PyCharm,选择菜单File->New Project新建一个工程项目,这里设置项目名称为PyQtTest。完成后,单击Tools->External Tools->Qt designer打开QtDesigner。

QtDesigner打开后会自动弹出新建窗口的对话框,如果没有弹出的话可以单击File->New来打开该对话框。如下图所示,选择Main Windows,然后单击Create来创建一个主窗口。
在这里插入图片描述
点击File->Save as,将当前界面保存到我们刚创建的PyQtTest项目文件夹下,文件名设为QtTest.ui。
保存完成后,回到PyCharm中,可以看到我们的PyQtTest项目下多了一个QtTest.ui文件。

鼠标右键单击该文件调出右键菜单,单击External tools->PyUIC,程序会调用pyuic,将ui文件转换为py文件,执行完成后就会在该项目中生成一个QtTest.py文件了。

在这里插入图片描述
接下来右键单击PyQtTest项目,选择New->Python File新建一个Python文件,文件名设为‘QtUi.py’,打开该文件输入如下代码:

from pyqt5_plugins.examplebuttonplugin import QtGui

from QtTest import Ui_MainWindow
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QFileDialog, QMessageBox

class CamShow(QMainWindow, Ui_MainWindow):
    def __init__(self, parent=None):
        super(CamShow, self).__init__(parent)
        self.setupUi(self)
        # 信号与槽
        self.openFileBtn.clicked.connect(self.loadImage)
        # 打开文件
        self.actionOpen.triggered.connect(self.loadImage)
        # 退出程序
        self.actionexit.triggered.connect(self.exit)
        # 关于
        self.actionAbout.triggered.connect(self.about)

    def loadImage(self):
        self.infolabel.setText("打开文件按钮被按下了")
        self.fname, _ = QFileDialog.getOpenFileName(self, '选择图片', '.', '图像文件(*.jpg *.png)')
        print(self.fname)

        pix = QtGui.QPixmap(self.fname).scaled(self.ImageLabel.width(), self.ImageLabel.height())
        self.ImageLabel.setPixmap(pix)

    def exit(self):
        self.infolabel.setText("退出按钮被按下了")
        sys.exit(app.exec_())

    def about(self):
        self.infolabel.setText("关于按钮被按下了")
        QMessageBox.information(self, '软件说明', '该软件由南山制作,版本1.0')

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ui = CamShow()
    ui.show()
    sys.exit(app.exec_())

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部