Python QT5 1- 启动PyQt5

Posted Rolei_zl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python QT5 1- 启动PyQt5相关的知识,希望对你有一定的参考价值。

1. 配置Python环境

    1)下载Python,Welcome to Python.orgDownload Python | Python.orgWelcome to Python.org
    2)下载Windows版本 Windows installer(64-bit),python-3.X.X.exe
          Download Python | Python.org   
    3)安装Python,双击python安装程序,按提示执行安装
    4)安装结果验证

python -V  # Python 3.9.1
或
python     # Python 3.9.1

2. 安装PyQt5

    使用pip安装PyQt5及相关插件

# 安装 PyQt5
pip install PyQt5

# 验证 pyqt5 安装结果
>>> import PyQt5    # 导入PyQt5成功

# 安装 pyqt5 设计工具 designer
pip install pyqt5-tools

# 验证 pyqt5-tools 安装结果
python_path\\Lib\\site-packages\\qt5_applications\\Qt\\bin\\designer.exe #双击后启动Qt Designer

3. 配置PyCharm集成开发环境(IDE)

    * 完全可以使用Python IDLE环境,使用PyCharm只是之前配置好的环境,并且希望使用下external tools,外部工具配置

    1)PyCharm安装(参考官方文档,PyCharm中文网JetBrains: Essential tools for software developers and teams 官网官网,似乎访问不到)
    2)配置external tools
         > File -> Settings
         > 配置 external tools

         > 配置 Qt Designer ( + ),执行Qt Designer进行GUI设计
            - 设置 Name 和 Program 执行程序
            - $FileDir$,在当前文件夹下生成 *.ui 文件

         > 配置 pyuic5 ( + ),将 Qt Designer生成的*.ui文件转成*.py文件
            - 设置 Name 和 Program 执行程序(pyuic5.ext 位于python目录的scripts文件夹下)
            - 设置 Parameters参数,参考pyuic5执行: pyuic5 *.ui -o *.py, *代表对应的文件名
              默认新的Qt Designer会引用 PySide2 库,因此直接使用pyuic5转换*.ui只能引用PySider2库,因此使用-o参数可以引用PyQt5库。

            > 配置 Python ( + ),执行python程序
              参考 python *.py 执行过程
               - 设置 Name 和 Program 执行程序
               - 设置 Parameters参数,指定当前运行的文件 $FileName$,即*.py
               - 设置当前程序执行的文件夹,$FileDir$

 4. 使用Qt Designer设计用户界面(详细参考相关帮助,)

    有GUI设计 或 可视化快速开发语言经验的,可略过。了解一些Qt  Designer的基本特性

    1)信号 和 槽(Singnal and Slot)  
         > 信号和槽用于对象之间的通信,所有的应用都是事件驱动的,设用exec_()方法。
            基于对象1的操作影响对象2:对像1发送信号,对像2响应信号称为槽;发送 - 信号 <-> 响应 - 槽
         > 事件模型
            事件源:发生了状态改变的对像
            事件:改变的内容,用来描述一系列事件自身属性的对象,发生一个signal
            事件目标:事件想作用的目标,事件触发时调用slot
         > singal 信号,sender 信号的发送者,receiver 信号的接收者,slot 信号发出后应做出的反应

## import
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication,QMessageBox,QDialog

## Window UI design
-----------------------------------------------------------------
self.pushButton = QtWidgets.QPushButton(Dialog)
self.pushButton.setGeometry(QtCore.QRect(170, 120, 75, 23))
self.pushButton.setObjectName("pushButton")

self.pushButton.clicked.connect(self.showok)

def showok(self):
    QMessageBox.information(self, 'Info',  'OK!!!')

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
self.buttonBox.setObjectName("buttonBox")
self.buttonBox.accepted.connect(Dialog.accept)

def accept(self):
    QMessageBox.information(self, 'Info',  'accepted!!!')

## Show Window
-----------------------------------------------------------------
class MyWindow(QDialog, Ui_Dialog):
    def __init__(self, parent=None):
        super(MyWindow, self).__init__(parent)
        self.setupUi(self)

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

    2)Layout 布局
         > Vertical Layout,竖向排列
         > Horizontal Layout,横向排列
         > Grid Layout,网格布局,多行多列
         > Form Layout,表单布局,多行2列

         布局创建步骤
         > 创建组件(widget)
         > 创建布局(layout),并将部件依次添加到布局中 -- 选择要布局的组件,然后选择合适的布局


  1. Getting started with PyQt -- Getting started with PyQt (learning the basics) - CodersLegacy
  2. PyQt5中文教程

以上是关于Python QT5 1- 启动PyQt5的主要内容,如果未能解决你的问题,请参考以下文章

Qt5 / PyQt5 : 带有 QML 前端和 Python 后端的自定义 QML 组件

Python使用pyqt5配置

Windows下安装PyQt5完整教程

Python 使用QT5开发界面的一个demo开发过程的总结

python pyqt5 QThread

记录在Python2.7 x64 bit 下 PyQt5.8的编译过程