0
我想在兩個QtTableView之間傳輸數據。爲此,我首先選擇要傳輸的行,然後單擊「to_X_table」。PyQT:兩個TableView之間的傳輸
但我不明白如何用第一個填充第二個tableview。 我想:
self.to_X_table.clicked.connect(self.to_X_tableView)
def to_X_tableView(self):
self.proxy = QtCore.QSortFilterProxyModel()
self.proxy.setSourceModel(self.tableWidget_Input_Col.selectionModel())
self.tableView_X.setModel(self.proxy)
self.tableView_X.resizeColumnsToContents()
我得到這個消息:
TypeError : setSourceModel(self,QAbstractItemModel) : 1 argument unexpected type QItemSelectionModel
I'dont真的知道什麼self.tableWidget_Input_Col.selectionModel()的返回。我想這是一個模型。但似乎不是。
我也試圖建立自己的模型,像這樣(以下這篇文章Get data from every cell from a QTableView)
def to_X_tableView(self):
indexes = self.tableWidget_Input_Col.selectionModel().selectedRows()
self.model = QtGui.QStandardItemModel()
for index in sorted(indexes):
print('Row %d is selected' % index.row())
self.model.invisibleRootItem().appendRow(
QtGui.QStandardItem(self.tableWidget_Input_Col.model.index(index.row, 0)))
self.proxy = QtCore.QSortFilterProxyModel()
self.proxy.setSourceModel(self.tableWidget_Input_Col.selectionModel())
self.tableView_X.setModel(self.proxy)
self.tableView_X.resizeColumnsToContents()
,但我得到這個錯誤:
Traceback (most recent call last):
File "ChartGUI.py", line 151, in to_X_tableView
QtGui.QStandardItem(self.tableWidget_Input_Col.model.index(index.row, 0)
AttributeError: 'builtin_function_or_method' object has no attribute 'index'
當你嘗試這樣的結果是什麼?如果出現錯誤,請發佈回溯。 – Jeff
TypeError:setSourceModel(self,QAbstractItemModel):1個參數意外類型QItemSelectionModel。不能fint python文檔(只有C++文檔https://doc.qt.io/qt-5/qtableview.html) – Coolpix
其實如果你編輯你的原始文章,所以格式更容易閱讀,並張貼完全回溯,那將是最有用的。儘管看起來錯誤在第四行,並且無論您從self.tableWidget_Input_Col.selectionModel()調用的是不是self.proxy.setSourceModel()預期會接收的類型的參數。如果你發佈任何你已經嘗試過的東西,這也很有幫助。 – Jeff