目标是点击窗体上的按钮,清除文本框的内容。
import sys
from ui_Dialog import Ui_Dialog
from PySide6.QtWidgets import *
# ui_Dialog是.ui文件转换出来的.py文件,Ui_Dialog是里面的一个类
class QmyDialog(QDialog):
def __init__(self, parent=None):
super(QmyDialog, self).__init__(parent)
self.ui = Ui_Dialog()
self.ui.setupUi(self)
def on_btnClear_clicked(self):
self.ui.textEdit.clear()
窗体上按钮的Objectname是btnClear
,我在Qt Creater界面确认了,也在ui文件转换出来的py文件里确认过了。
__init__
底下添加self.ui.btnClear.clicked.connect(self.on_btnClear_clicked)
结果居然可以了!但是书上没有我刚添加的代码,而且加了这句代码就不是自动连接了吧。有人知道为什么吗?
class QmyDialog(QDialog):
def __init__(self, parent=None):
super(QmyDialog, self).__init__(parent)
self.ui = Ui_Dialog()
self.ui.setupUi(self)
self.ui.btnClear.clicked.connect(self.on_btnClear_clicked)
def on_btnClear_clicked(self):
self.ui.textEdit.clear()
可以运行的代码如上,但这种写法应该是自定义槽函数的写法才对啊
用装饰器增强槽函数!!!
在类底下的函数定义前面,加@Slot
(pyside6写法)
如果这个函数需要参数的话,比如需要str类型的参数,就在前面加@Slot(str)
你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答
本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。
因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。