PyQt5是一个Python GUI框架,它提供了一组用于创建用户界面的类和方法。它可以用于创建GUI应用程序,包括窗口、按钮、文本框、列表框、下拉列表框、菜单、工具栏、对话框等。PyQt5还提供了一些高级功能,例如自动布局、动画、多线程和网络编程等。
PyQt5提供GPL版和商业版证书,自由开发者可以使用免费的GPL许可,如果需要将PyQt用于商业应用,则必须购买商业许可。
1.Python(python3.7后版本有小问题,但无伤大雅)
2.PyCharm
3.PyQt5
pip install pyqt5
pip install pyqt5-tools
PyQt5-tools 是一个 PyQt5 的工具包,它包含了一些常用的工具,Qt Designer拖拽式的界面设计工具。
可能遇到的问题:
qt5-tools 5.15.2.1.2 has requirement click~=7.0, but you'll have click 8.0.1 which is incompatible.
解决方案:
pip install click~=7.0
Qt Designer 是 Qt 框架提供的一种可视化 UI 设计工具,可以用它来创建用户界面,包括按钮、文本框、下拉框、列表框、菜单等 UI 元素。Qt Designer 提供了直观的界面设计工具,使得开发者可以直观地创建用户界面,而无需编写大量的 C++ 代码。
Qt Designer 可以在 Windows、Linux 和 macOS 等操作系统上运行,它的路径是 ~Python\Installation\Scripts\designer.exe。初次运行 Qt Designer 时,它会弹出一个启动窗口,里面有一个新建窗体的对话框,可以在这里选择顶层的窗口是一个什么类型。
在 Qt Designer 中,可以使用编辑框、按钮、文本框等控件来创建用户界面元素,并对它们进行属性设置。Qt Designer 还提供了丰富的控件样式和布局选项,可以帮助开发者快速设计出符合需求的界面。
总的来说,Qt Designer 是一个功能强大、易于使用的 UI 设计工具,适合用于快速创建用户界面,提高开发效率。
整个画面的构成:
左侧的“Widget Box”就是各种可以自由拖动的组件
中间的“MainWindow – untitled”窗体就是画布
右上方的”Object Inspector”可以查看当前ui的结构
右侧中部的”Property Editor”可以设置当前选中组件的属性
右下方的”Resource Browser”可以添加各种素材,比如图片,背景等等
最终生成.ui文件(实质上是XML格式的文件),可直接使用,也可以通过pyuic5工具转换成.py文件。(节选自公众号:Python 图形界面框架 PyQt5 使用指南!)
QtDisigner配置
在Pycharm中,依次打开 File – Settings – Tools – External Tools,点击 + Create Tool,配置如下:
#配置方法
Name: QtDisigner
Program :C:\Users\frank\AppData\Local\Programs\Python\Python38\Lib\site-packages\qt5_applications\Qt\bin\designer.exe # 请根据实际修改
Working directory: $FileDir$
PyUIC配置
PyUIC主要是把Qt Designer生成的.ui文件换成.py文件。
在Pycharm中,依次打开 File – Settings – Tools – External Tools,点击 + Create Tool,配置如下:
Name: PyUIC
Program : C:\Users\frank\AppData\Local\Programs\Python\Python38\python.exe # 当前Python目录,请根据实际修改
Arguments: -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
Working directory: $FileDir$
PyRCC配置
PyRCC主要是把编写的.qrc资源文件换成.py文件。
在Pycharm中,依次打开 File – Settings – Tools – External Tools,点击 + Create Tool,配置如下:
Name: PyRCC
Program: C:\Users\frank\AppData\Local\Programs\Python\Python38\Scripts\pyrcc5.exe # 当前rcc工具目录,请根据实际修改
Arguments: $FileName$ -o $FileNameWithoutExtension$_rc.py
Working directory: $FileDir$
至此,配置完成!
创建空白界面:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel
app = QApplication(sys.argv)
win = QMainWindow()
win.setGeometry(300, 400, 500, 600)
win.setWindowTitle("这只是一个测试案例")
win.show()
sys.exit(app.exec_())
结果:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton
def click():
print("Hy Button is clicked!")
app = QApplication(sys.argv)
win = QMainWindow()
win.setGeometry(300, 400, 500, 600)
win.setWindowTitle("这是一个测试案例")
button = QPushButton(win)
button.resize(200, 100)
button.setText("按钮被触发")
button.move(100, 100)
button.clicked.connect(click)
win.show()
sys.exit(app.exec_())