运行了,但是运行过程中出现0xc0000409错误

问题描述 投票:0回答:1

我正在练习一个读取和显示 Excel 文件的程序 尝试提升整个代码。 我正在使用 Python 3.9、Pycharm、 PyQt5 - 5.15.7

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QTableWidget, QTableWidgetItem, QHeaderView, QHBoxLayout, QVBoxLayout, QPushButton
from PyQt5.QtCore import Qt
import pandas as pd
from pympler import muppy
all_objects = muppy.get_objects()

class MyApp(QWidget):
    def __init__(self):
        super().__init__()
        self.window_width, self.window_height = 700, 500
        self.resize(self.window_width, self.window_height)

        layout = QVBoxLayout()
        self.setLayout(layout)

        self.table = QTableWidget()
        layout.addWidget(self.table)

        self.button = QPushButton('&load Data')
        self.button.clicked.connect(lambda _, xl_path=excel_file_patch, sheet_name=worksheet_name: self.loadExcelData(xl_path, sheet_name))
        layout.addWidget(self.button)

    def loadExcelData(self, excel_file_dir, worksheet_name):
        df = pd.read_excel(excel_file_dir, worksheet_name)
        if df.size == 0:
            return super.loadExcelData(excel_file_dir, worksheet_name)

        df.fillna('', inplace=True)
        self.table.setRowCount(df.shape[0])
        self.table.setColumnCount(df.shape[0])
        self.table.setHorizontalHeaderLabels(df.columns)

if __name__ == '__main__':

    excel_file_patch = 'data.xlsx'
    worksheet_name = 'Sales'

    app = QApplication(sys.argv)
    myApp = MyApp()
    myApp.show()

    try:
        sys.exit(app.exec())
    except SystemExit:
        print('closing Window...')
python pyqt5 qt-designer
1个回答
0
投票

我在 Python 3.9 和 Pycharm 中使用基于 Tkinter 的应用程序时遇到了同样的问题。仅当我调试并在 Tkinter 窗口初始化期间在 super().init() 上放置断点时,才会出现错误 0xC0000409。

我没有在 super().init() 上设置断点,而是在初始化之后移动了断点。这样,Tkinter 事件循环就会正确启动,并且调试不会出现问题。

PS。我希望它能帮助某人避免花费 3 个小时尝试解决这个(不是)问题:P

© www.soinside.com 2019 - 2024. All rights reserved.