2016-09-01 10 views
0

テーブルウィジェットを作成し、そこにコンテキストメニューを追加しました。セルを右クリックすると、ファイルディレクトリを取得してセルに配置したいと考えています。私はディレクトリを持って変数に渡しますが、セルのインデックスを取得できないため、セルに表示できませんでした。QTableWidgetでセルのインデックスを取得する方法は?このqusstionを把握する方法はありますか?私はPythonとPyQt5を使用しています。QTableWidgetでセルのインデックスを取得する方法は?

enter image description here

@pyqtSlot() 
def on_actionAddFolder_triggered(self): 
    # TODO: Open filedialog and get directory 
    filedir = str(QFileDialog.getExistingDirectory(self, "Select Directory")) 
    return filedir 

@pyqtSlot(QPoint) 
def on_tableWidget_customContextMenuRequested(self, pos): 
    # TODO: get directory and display it in the cell 
    x = self.tableWidget.currentRow 
    y = self.tableWidget.currentColumn 

    RightClickMenu = QMenu() 
    AddFolder = RightClickMenu.addAction('Add Folder') 
    FolderAction = RightClickMenu.exec_(self.tableWidget.mapToGlobal(pos)) 
    if FolderAction == AddFolder: 
     NewItem = QTableWidgetItem(self.on_actionAddFolder_triggered()) 
     self.tableWidget.setItem(x,y, NewItem) 

答えて

0

ハハハ、私は間違いを見つけます!

x = self.tableWidget.currentRow 
y = self.tableWidget.currentColumn 

それが動作するこの2行

x = self.tableWidget.currentRow() 
y = self.tableWidget.currentColumn() 

を交換してください。

関連する問題