You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Qt Designer配合Python将逻辑放独立文件时报Ui_MainWindow无属性错误

错误原因

你自定义的fillContactList方法是你自己编写的mainwindow子类的成员,Qt Designer自动生成的Ui_MainWindow类本身没有这个方法。你在入口代码中错误地实例化了原生Ui_MainWindow类调用该方法,就会触发属性不存在的报错。
另外你编写的mainwindow子类__init__方法中没有调用setupUi初始化界面,后续运行也会找不到界面控件。

修正方案

1. 补全子类初始化逻辑

class mainwindow(QMainWindow, Ui_MainWindow):
   def __init__(self):
       super(mainwindow, self).__init__()
       self.setupUi(self) # 新增:调用界面初始化方法,将控件绑定到当前实例
       self.setWindowTitle("Skills In Motion")

2. 替换入口执行逻辑

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    window = mainwindow() # 直接实例化你自定义的子类,不需要单独实例化原生QMainWindow和Ui_MainWindow
    window.fillContactList() # 调用子类自身的方法
    window.show()
    sys.exit(app.exec())
额外注意

你的代码中用到了self.onSelectionContact作为信号槽的回调函数,需要你在mainwindow类中补充实现这个方法,否则运行时还会抛出属性不存在的错误。

内容的提问来源于stack exchange,提问作者Irene

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 03:54:04