试图将点击文件的路径传递给loadExcelData ...任何人都有任何想法

Trying to pass the path of the clicked file to loadExcelData...Anyone have any ideas

问题来了。现在忽略我关于传递路径的初始问题,我只是直接填写函数 loadExcelData 'C:\Query1.xlsx' 的路径。问题是我只能使用涉及直接调用函数的第一种方法让 Query1.xlsx 加载到 QtableWidget 中。当我尝试 event/callback 时,出现以下错误

直接调用 DEF-有效

 class Ui_MainWindow(QtWidgets.QMainWindow):

" "

" "

    self.treeView.clicked.connect(
        lambda _, xl_path=excel_file_path, sheet_name=worksheet_name: 
       self.loadExcelData(xl_path, sheet_name))

EVENT/CALLBACK-this 无效

我收到“进程已完成,退出代码为 -1073740791 (0xC0000409)”

  class Ui_MainWindow(QtWidgets.QMainWindow):

  "   "

  "   "
     self.treeView.clicked.connect(self.test)

     def test(self, signal):
         loadExcelData(self, file_path)



   def loadExcelData(self, xl_path, worksheet_name):
         df = pd.read_excel('C:\Query1.xlsx')

         "   "

    Do I need a pyqt slot?

最简单的方法就是创建一个 event/callback 函数,连接到您的 treeView 的“已点击”signal/trigger 并调用您的“loadExcelData”和连接函数中的任何其他逻辑:

self.treeView.clicked.connect(this.viewClicked)

def viewClicked(self):
   self.loadExcelData(self.model.filepath, sheet_name)

在 def 测试中调用 loadExcelDate 时我忘记了 self

所以 loadExcelData -> self.loadExcelData