from PySide2.QtCore import *
from PySide2.QtGui import *
from PySide2.QtWidgets import *
from PySide2 import QtWidgets
from PySide2.QtWidgets import *
from PySide2.QtCore import*
class Ui_Dialog(object):
def setupUi(self, Dialog):
if not Dialog.objectName():
Dialog.setObjectName(u"Dialog")
Dialog.resize(880, 626)
self.rb1 = QRadioButton(Dialog)
self.rb1.setObjectName(u"rb1")
self.rb1.setGeometry(QRect(210, 170, 115, 19))
self.rb1.setChecked(True)
self.rb1.clicked.connect(lambda :self.la(self.rb1))我想问一下当调用参数的时候为啥有lambda函数不会报错,没有lambda会报错呢
self.rb1.clicked.connect(self.la(self.rb2))
self.rb2 = QRadioButton(Dialog)
self.rb2.setObjectName(u"rb2")
self.rb2.setGeometry(QRect(210, 220, 115, 20))
self.rb2.setChecked(False)
self.r = QLabel(Dialog)
self.r.setObjectName(u"r")
self.r.setGeometry(QRect(160, 250, 281, 211))
self.retranslateUi(Dialog)
QMetaObject.connectSlotsByName(Dialog)
self.la(self.rb1)
self.la(self.rb2)
def la(self,bth):
print(bth.text())
# setupUi
def retranslateUi(self, Dialog):
Dialog.setWindowTitle(QCoreApplication.translate("Dialog", u"Dialog", None))
self.rb1.setText(QCoreApplication.translate("Dialog", u"RadioButton", None))
self.rb2.setText(QCoreApplication.translate("Dialog", u"RadioButton", None))
self.r.setText(QCoreApplication.translate("Dialog", u"TextLabel", None))
# retranslateUi
import sys
if name == "main": # 相当于main入口
app = QtWidgets.QApplication(sys.argv) # 创建一个QApplication,即将开发的软件app
MainWindow = QtWidgets.QMainWindow() # QMainWindow装载需要的组件
ui = Ui_Dialog() # 后面加上你所用类的文件(创建实例化对象)
ui.setupUi(MainWindow) # 执行类中的setupUi方法
MainWindow.show()
sys.exit(app.exec_()) # exit()或点击按钮退出app
connect是要连接槽函数的
也就是说当按钮click的时候它要执行一个函数
你需要告诉它执行什么函数
所以它的参数是个函数
可以不是匿名函数,但好歹得是函数
你不能传个别的东西进去
必须是可执行的东西