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

PyQT5应用第二个窗口按钮及功能无法正常运行问题咨询

问题原因

你遇到的问题核心是两处错误:

  1. 你在MainWindow的openJournal方法中,没有实例化你自己实现的BlockWindow自定义类,而是直接创建了原生的QtWidgets.QMainWindow空对象,仅手动加载了UI布局。你写在BlockWindow.__init__中的loaddata调用、按钮绑定逻辑完全没有执行,自然不会加载表格数据。
  2. 你在openJournal方法中直接给self.ui重新赋值,会覆盖MainWindow原本的UI实例,后续你操作主窗口的控件时会出现异常。

修复步骤

第一步:修改MainWindow.py

  1. 顶部导入你自己写的BlockWindow类:
from MainWindowUI import Ui_MainWindow
from BlockWindow import BlockWindow # 新增这行,原来的Ui_BlockWindow导入可以直接删除
  1. 重写openJournal方法,直接实例化自定义的BlockWindow即可:
def openJournal(self):
    self.block_win = BlockWindow()
    self.block_win.show()

你自己写的BlockWindow类已经在初始化时完成了UI加载、数据加载、按钮绑定的全部逻辑,不需要再手动操作原生QMainWindow和UI类。

可选修复(BlockWindow.py的小问题)

你当前BlockWindow中关闭按钮的绑定写法有问题,会导致关闭功能失效,修改为绑定实例的close方法即可:

# 原来的错误写法
# self.ui.pushButton_4.clicked.connect(BlockWindow.close)
# 修改为
self.ui.pushButton_4.clicked.connect(self.close)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 04:18:02