[英]How to add a row to only one column of a QTableWidget?
我有一個帶有兩列的QTableWidget:“絕對鏈接”和“非絕對鏈接”。
我想根據鏈接的絕對值來添加鏈接列表中的每個鏈接。 我只想在相應的列中插入一行 。
是否有類似於.insertRow()的方法使我能夠做到這一點?
這是我嘗試過的方法,但它不斷將我添加到所有列中。
for link in self.links_:
numRows = self.HTMLLinksTableWidget.rowCount()
self.HTMLLinksTableWidget.insertRow(numRows)
if self.isAbsolute(link):
self.HTMLLinksTableWidget.setItem(numRows, 1, QtWidgets.QTableWidgetItem(link))
else:
self.HTMLLinksTableWidget.setItem(numRows, 0, QtWidgets.QTableWidgetItem(link))
我也嘗試過使用兩個列表進行此操作,它不能完美運行,並且不能在列表中添加所有鏈接:
for AbsoluteLink in self.AbsoluteLinks:
numRows = self.HTMLLinksTableWidget.rowCount()
self.HTMLLinksTableWidget.insertRow(numRows)
self.HTMLLinksTableWidget.setItem(numRows, 1, QtWidgets.QTableWidgetItem(AbsoluteLink))
for count, NonAbsoluteLink in enumerate(self.NonAbsoluteLinks):
self.HTMLLinksTableWidget.setItem(count, 0, QtWidgets.QTableWidgetItem(NonAbsoluteLink))
使用第二種策略,您可以執行以下操作
self.AbsoluteLinks.setRowCount(max(len(self.AbsoluteLinks), len(self.NonAbsoluteLinks)))
for row, link in enumerate(self.AbsoluteLinks):
self.HTMLLinksTableWidget.setItem(row, 0, QtWidgets.QTableWidgetItem(link))
for row, link in enumerate(self.NonAbsoluteLinks):
self.HTMLLinksTableWidget.setItem(row, 1, QtWidgets.QTableWidgetItem(link))
(或者,您可以將兩個for循環結合使用:)
self.AbsoluteLinks.setRowCount(max(len(self.AbsoluteLinks), len(self.NonAbsoluteLinks)))
for col, links in enumerate((self.AbsoluteLinks, self.NonAbsoluteLinks)):
for row, link in enumerate(links):
self.HTMLLinksTableWidget.setItem(row, col, QtWidgets.QTableWidgetItem(link))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.