前提
一个GUI程序大体可以分为2个部分:
- 创建用户界面本身(UI),然后编写代码让UI按照需求来实现功能。创建UI需要在窗口上排布些东西,如按钮、文本框、选择框等
- 接着,编写代码来响应按钮点击、文本框输入、选择框中选择某项等动作
一、安装PyQt5
在PC端 “命令提示符” 输入以下指令:
pip install PyQt5
二、布署GUI界面
①、打开Designer :
②、创建用户界面——添加一个button
③、创建保存的内容:
三、编写代码实现
事件:点击按键,让其移动到一个新的位置。
import sys
from PyQt5 import QtCore,QtGui, QtWidgets,uic #导入所需要的pyqt库
form_class = uic.loadUiType("untitled.ui")[0] #加载Designer中创建的UI
class MyWindowClass(QtWidgets.QMainWindow, form_class):
def __init__(self, parent =None):
QtWidgets.QMainWindow.__init__(self, parent)
self.setupUi(self)
self.pushButton.clicked.connect(self.button_clicked)
def button_clicked(self):
x = self.pushButton.x()
y = self.pushButton.y()
x += 50
y += 50
self.pushButton.move(x, y)
app = QtWidgets.QApplication(sys.argv)
myWindow = MyWindowClass()
myWindow.show() #启动程序,显示GUI窗口
app.exec_()
要点一:加载Designer中创建的UI
form_class = uic.loadUiType("MyFirstGui.ui")[0]
要点二:self 代表什么?
self:代表的是UI 主窗口。
要点三:将事件处理器与事件相连,即事件绑定
需要告诉主窗口,为一个特定的组件编写一个事件处理器,特定组件 = pushButton
self.pushButton.clicked.connect(self.button_clicked)
要点四、移动按钮
按钮在窗口中的位置由它的 geometry 属性确定,该属性包含 x 位置、y 位置、宽度和高度。
要改变属性,有两种方法:
- 一种方法是使用 SetGeometry() 方法来改变几何属性。
- 另一种方法是使用 move() 方法
要点五、Python&PyQt5报错:AttributeError: module 'PyQt5.QtGui' has no attribute 'QMainWindow'
将QtGui改成QtWidgets 。
参考链接:https://blog.csdn.net/weixin_42137589/article/details/81489363