pycharm+pyqt5快速入门(环境配置、UI界面设计、事件触发)

PyQt5环境配置
  首先,默认电脑已经安装好python3.6和pycharm。
安装模块:
  进行PyQt5开发之前需要安装pywin32、PyQt5、PyQt5-tools模块,可以使用命令行
pip install PyQt5、pip install PyQt5-tools和pip install pywin32安装,也可以直接在pycharm软件中File—Settings—Project:*—Project Interpreter—‘+’进行安装。安装完后使用如下代码进行测试,如有报错考虑升级相应的模块。

import sys
from PyQt5 import QtWidgets

app = QtWidgets.QApplication(sys.argv)
widget = QtWidgets.QWidget()   #声明窗口
widget.resize(500,500)   #设置窗口大小
widget.setWindowTitle("显示一个窗口")
widget.show()    #显示窗口
sys.exit(app.exec_())   #点击x关闭窗口

配置PyQt5到Pycharm
  使用Pyqt5开发UI,有两种方式,一种是直接输入python代码创建UI,如label、text、button等,并需要通过代码来调整位置、大小等信息;另一种是通过Pyqt5-tools模块中的QtDesigner来设计UI,也就是通过Qt中拖拽相应的UI模块来设计UI界面,然后再通过将保存好的.ui文件导入工程转换为.py文件供python程序调用,显然第二种方式更加简单。
  以下是将QtDesigner“放入”pycharm中和将“.ui”转为“.py”的软件配置。
pycharm+pyqt5快速入门(环境配置、UI界面设计、事件触发)_第1张图片
pycharm+pyqt5快速入门(环境配置、UI界面设计、事件触发)_第2张图片
  以上图片中的:
   Name:QtDesigner 软件名,自定义即可
   Program:安装pyqt5_tools模块的路径下的designer     C:\Users\ming\AppData\Local\Programs\Python\Python36\Lib\site-     packages\pyqt5_tools\designer.exe
   Working directory:$ProjectFileDir$
pycharm+pyqt5快速入门(环境配置、UI界面设计、事件触发)_第3张图片
   Name:PyUIC
   Program:安装python的路径
   C:\Users\ming\AppData\Local\Programs\Python\Python36\python.exe
   Arguments:-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
Working directory:$ProjectFileDir$
   以上便是环境的配置。检验配置是否完成,可以查看Tools-External Tools-*是否多出了刚才配置的两个工具。单击QtDesigner可以直接打开该软件,而PyUIC则需要针对.ui文件才能使用。
UI界面设计
  对UI界面的设计,不讨论对UI的美化,只介绍使用。根据前面所言的两种PyQt5的ui设计方式,这里只讨论第二种,实际上第二种也包括了第一种。通过Tools-External Tools-QtDesigner打开软件,界面如下:
pycharm+pyqt5快速入门(环境配置、UI界面设计、事件触发)_第4张图片
  选择Main Window新建ui文件,并拖拽相应的模块,如图:(具体的使用和Qt软件类似)。新建完成后,保存到当前python工程目录下,命名为just.ui。
pycharm+pyqt5快速入门(环境配置、UI界面设计、事件触发)_第5张图片
  注意:这里新建的ui文件也可用Qt软件打开,即通过Qt直接设计后只将qt工程文件中的.ui文件放到python中使用;设计好的.ui文件还可以通过Designer再次打开并修改。
pycharm+pyqt5快速入门(环境配置、UI界面设计、事件触发)_第6张图片
  生成的just.ui文件无法在python中直接调用需要通过PyUIC转化为.py文件。右键单击just.ui文件,操作如图,即可生成just.py文件,该文件仅仅是ui文件,包括各个ui模块的位置、大小等信息。这种方式可以将逻辑层和UI层分成两块进行程序开发。
pycharm+pyqt5快速入门(环境配置、UI界面设计、事件触发)_第7张图片
  just.py文件部分内容如下:
pycharm+pyqt5快速入门(环境配置、UI界面设计、事件触发)_第8张图片
程序运行
  界面设计完成后,just.py是无法运行的。
方法1 最简单的方式是,直接在生成的 just.py文件末尾加上如下程序段即可。

if __name__=="__main__":
    import sys
    app=QtWidgets.QApplication(sys.argv)
    widget=QtWidgets.QWidget()
    ui=Ui_Dialog()  #Ui_Dialog为通过ui生成的just.py文件中的类名称
    ui.setupUi(widget)
    widget.show()   #显示窗口
    sys.exit(app.exec_())

方法2 再新建一个python文件demo.py代码如下,再调用生成的just.py文件。

import sys
import just
from PyQt5.QtWidgets import QApplication,QMainWindow,QPushButton
if __name__ =='__main__':
    app=QApplication(sys.argv)   #声明应用程序
    MainWindow=QMainWindow()     #声明窗口
    ui=just.Ui_Dialog()          #声明UI对话框,即对应的UI的python文件
    ui.setupUi(MainWindow)      #将UI对话框对应声明的窗口
    MainWindow.show()
    sys.exit(app.exec_())    #当点击窗口的x时,退出程序

方法3 也可以新建一个类使用继承的方式。

import sys
from just import Ui_Dialog
from PyQt5 import QtWidgets
class justwindow(QtWidgets.QWidget, Ui_Dialog):
    def __init__(self):
        super(justwindow, self).__init__()  #初始化父类
        self.setupUi(self) 
if __name__=="__main__": 
    app=QtWidgets.QApplication(sys.argv)
    justshow=justwindow()
    justshow.show()
    sys.exit(app.exec_())

事件触发
  和设计UI界面一样,也可以采用designer进行简单的交互设计,如,按下按钮的操作显示某个模块或者添加文字等。
  具体可参考如下两个链接(比较简单易懂):
  使用pycharm+pyqt5 控件事件触发:link
  包括使用pycharm+pyqt5 触发自定义方法:link

你可能感兴趣的:(python)