qq_39563073 2020-10-24 11:48 采纳率: 0%
浏览 294

PySide2的QPushButton使用sender()后找不到对象

因为需要对未知数量的按钮绑定点击事件触发的函数,同时需要每个按钮需要传入不同的参数好区分点击的是哪一个,所以使用了sender()。代码如下

new_button_widget = QPushButton(self.log_widget)
new_button_widget.clicked.connect(lambda:self.testfunc(new_button_widget.sender().objectName()))

这段代码在PyQt5下可以运行,由于工作需要我将它换成了PySide2,于是出现了上面的问题

报错信息如下:

PySide2的QPushButton使用sender()后找不到对象

目前只测出将sender()去掉后程序无报错但是按钮传递的参数全部都变成一样
经过测试发现按钮对象调用sender()之后对象类型变为NoneType,但不知道具体原因和结局办法

  • 写回答

1条回答 默认 最新

  • m0_63534526 2021-12-31 17:18
    关注


    class Ui_MainWindow(object):
    改为
    class Ui_MainWindow(QtCore.QObject):

    评论

报告相同问题?

悬赏问题

  • ¥20 matlab计算中误差
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊