首先使用 QtDesigner 生成 后缀 xxx.ui 的文件
执行命令
pyside2-uic untitled.ui -o appui.py
引入生成的ui文件,并调用其中的 setupUi 方法image.png
image.png
绑定事件有多种写法
一种是类似 QT中 C++ 的写法,python 需要引入 QtCore
ui_obj.pushButton.clicked.connect(on_clicked1)
QtCore.QObject.connect(ui_obj.pushButton, QtCore.SIGNAL("clicked()"), window, QtCore.SLOT('on_click()'))
另外一种有点类似 JS 中绑定事件的洗发
ui_obj.pushButton.clicked.connect(on_clicked1)
完整截图image.png
image.png
image.png
下面是完整代码
# This Python file uses the following encoding: utf-8
import sys
from PySide2.QtWidgets import QApplication, QMainWindow
from PySide2 import QtCore, QtGui
import appui
class Main(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
def on_clicked2(self):
print("Button click2")
print(self.__class__)
def on_clicked1():
print("Button click!")
if __name__ == "__main__":
app = QApplication([])
window = Main()
ui_obj = appui.Ui_MainWindow()
ui_obj.setupUi(window)
# 第一种
# QtCore.QObject.connect(ui_obj.pushButton, QtCore.SIGNAL("clicked()"), window, QtCore.SLOT('on_clicked2()'))
# 第二种
ui_obj.pushButton.clicked.connect(on_clicked1)
window.show()
sys.exit(app.exec_())