Error opening .vtm files in pyqt6 gui

here is the QT GUI code
from PyQt6.QtWidgets import QApplication, QMainWindow, QTableWidgetItem, QMessageBox
from sindainterpolation import Ui_MainWindow # 导入由pyuic6生成的Python文件
import VTK2SINDA
import tkinter as tk
from tkinter import filedialog
from pathlib import Path
import pandas as pd
class MainWindow(QMainWindow, Ui_MainWindow):
def init(self):
super().init()
self.setupUi(self)

    self.getPathButtom.clicked.connect(self.getEngineerPath)
    self.TableAdd.clicked.connect(self.TableAddRow)
    self.TableDelete.clicked.connect(self.TableDelRow)
    self.ImportEnvelopeButtom.clicked.connect(self.readEnvelopeTable)
    self.InterpButtom.clicked.connect(self.interpolation)
    self.EnvelopeTable.setSortingEnabled(True)
    self.msg_box = QMessageBox()

def getEngineerPath(self): # 浏览按钮被点击
    # 创建一个Tk根窗口,但不显示
    root = tk.Tk()
    root.withdraw()

    # 打开文件选择对话框,并获取用户选择的文件路径
    file_path = filedialog.askopenfilename(
        title="选择网格文件",
        initialdir="/",  # 起始目录
        filetypes=[("nastran mesh files", "*.bdf")]  # 文件类型过滤
    )

    # 返回选择的文件路径
    directory,filename =  self.get_file_path_and_split(file_path)
    self.MeshFileName.setText(filename)
    self.DirPath.setText(directory)

def get_file_path_and_split(self,file_path):

    # 创建Path对象
    path = Path(file_path)
    # 拆分文件名和路径
    directory = path.parent  # 获取目录路径
    filename = path.name  # 获取文件名

    return str(directory), filename

def TableAddRow(self):
    self.EnvelopeTable.insertRow(self.EnvelopeTable.rowCount())

def TableDelRow(self):
    # 获取选中的行号
    selected_index = self.EnvelopeTable.selectionModel().selectedRows()
    model = self.EnvelopeTable.model()
    for index in selected_index:
        model.removeRow(index.row())
def readEnvelopeTable(self):
    root = tk.Tk()
    root.withdraw()
    if self.DirPath.toPlainText() is None:
        dir = '/'
    else:
        dir = self.DirPath.toPlainText()
    # 打开文件选择对话框,并获取用户选择的文件路径
    file_path = filedialog.askopenfilename(
        title="选择包线csv",
        initialdir= dir,  # 起始目录
        filetypes=[("包线配置文件", "*.csv")]  # 文件类型过滤
    )
    if file_path == '':
        self.msg_box.setWindowTitle("Message")
        self.msg_box.setText("未选择合适文件")
        return self.msg_box.exec()

    data = pd.read_csv(file_path)
    self.sourcefile = [data.iloc[:, 0].tolist(), data.iloc[:, 1].tolist(), data.iloc[:, 2].tolist()]

    self.EnvelopeTable.clear()
    self.EnvelopeTable.setRowCount(data.shape[0])
    self.EnvelopeTable.setColumnCount(data.shape[1])
    for j in range(data.shape[1]):
        for i,cell in enumerate(self.sourcefile[j]):
            item = QTableWidgetItem(str(cell))
            self.EnvelopeTable.setItem(i, j, item)

def interpolation(self):
    self.sindafile = self.DirPath.toPlainText() + '\\' + self.MeshFileName.toPlainText()
    self.outputname = self.DirPath.toPlainText() + '\\' + self.OutputFileName.toPlainText()
    interpolator = VTK2SINDA.sindainterp(self.sourcefile, self.sindafile)
    interpolator.Gensindainpfile(self.outputname)

    self.msg_box.setWindowTitle("Message")
    self.msg_box.setText("导出成功")
    self.msg_box.exec()

if name == “main”:
app = QApplication()
window = MainWindow()
window.show()
app.exec()