众所周知Qt是一个跨平台的C++开发框架,它包含界面UI、网络、文件、WebKit等部分。而PyQt5就是Qt在Python语言上的绑定实现。
使用pip进行安装和卸载:
# 安装
pip3 install PyQt5
# 卸载
pip3 uninstall pyqt5
PyQt5官方只提供了针对Python3的二进制文件,对于Python2需要从官网自行下载源文件进程编译。
使用PyQt5开发界面最大的好处就是可以直接使用Qt Creator
通过拖拽的方式设计界面,不需要通过繁琐的代码来控制界面布局。
如果之前安装了Qt,那么可以直接使用已经安装好的Qt Creator,如果没有安装,可以单独下载Qt Creator进行安装。
下载地址:http://download.qt.io/official_releases/qtcreator/4.5/4.5.0/qt-creator-opensource-windows-x86_64-4.5.0.exe
启动Qt Creator
,菜单“文件” –> “新建文件或项目” –> 选择“Qt Designer From”:
点击“编辑” --> “Edit Widgets”
菜单(或快捷键F3)进入布局编辑模式,开始拖拽控件,也可以在属性窗口设置控件属性:
点击“编辑” --> “Edit Signals/Slots”
菜单(或快捷键F4)进入信号槽编辑模式,开始编辑信号和槽,在该模式中,用鼠标选中需要设置信号槽的控件,然后轻轻拖动一下就可以弹出编辑界面:
在安装PyQt5时会自动安装pyuic5
工具,该工具可以将第二步中使用Qt Creator生成的Main.ui
文件转成.py
文件。
pyuic5 main.ui -o main.py
可以将生成的main.py
文件拷贝到python工程目录方便引用。
# -*- coding: utf-8 -*-
from PyQt5 import QtWidgets, QtGui
from PyQt5.QtWidgets import QWidget, QMessageBox, QFileDialog
import sys
import os
from main import Ui_Main
class MainWindow(QWidget, Ui_Main):
def __init__(self):
super(MainWindow, self).__init__();
self.setupUi(self)
def onFile1Browser(self):
filename, _ = QFileDialog.getOpenFileName(self, 'Open file', './', 'Txt(*.txt)')
if filename:
self.lineEdit.setText(filename)
def onFile2Browser(self):
filename, _ = QFileDialog.getOpenFileName(self, 'Open file', './', 'Txt(*.txt)')
if filename:
self.lineEdit_2.setText(filename)
def onDoIt(self):
QMessageBox.information(self,"提示","大吉大利,今晚吃鸡", QMessageBox.Ok, QMessageBox.Ok)
def main():
app = QtWidgets.QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
在上面代码中有一行from main import Ui_Main
代码,main
表示main.py
文件,Ui_Main
中的Main
是使用Qt Creator新建UI文件时指定的文件名。我们也可以直接修改main.py
文件来更新这些值。