如何去掉QTableWidget中的空白?
我想知道怎么去掉我应用程序中的空白区域:
我想去掉我的 QTableWidget 中的空白(蓝色箭头指向的地方)。我该怎么做呢?
这是我应用程序的代码:
gridLayout = QGridLayout()
#add other widgets
currentItemsTable = QTableWidget(4, 2)
currentDeviceIconLabel = QLabel("Current Device Icon: ")
self.currentDeviceIcon = QLabel()
currentAppIconLabel = QLabel("Current App Icon: ")
self.currentAppIcon = QLabel()
currentTitleLabel = QLabel("Current Title: ")
self.currentTitle = QLabel(self.getCurrentTitle())
currentSubtitleLabel = QLabel("Current Subtitle: ")
self.currentSubtitle = QLabel(self.getCurrentSubtitle())
currentItemsTable.setCellWidget(0, 0, currentDeviceIconLabel)
currentItemsTable.setCellWidget(0, 1, self.currentDeviceIcon)
currentItemsTable.setCellWidget(1, 0, currentAppIconLabel)
currentItemsTable.setCellWidget(1, 1, self.currentAppIcon)
currentItemsTable.setCellWidget(2, 0, currentTitleLabel)
currentItemsTable.setCellWidget(2, 1, self.currentTitle)
currentItemsTable.setCellWidget(3, 0, currentSubtitleLabel)
currentItemsTable.setCellWidget(3, 1, self.currentSubtitle)
currentItemsTable.horizontalHeader().hide()
currentItemsTable.resizeColumnsToContents()
currentItemsTable.resizeRowsToContents()
currentItemsTable.setSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum)
gridLayout.addWidget(currentItemsTable, 1, 4, 8, 2)
另外,我想让 QTableWidget 根据行和列的内容自动调整大小。我不想要任何滚动条。
1 个回答
5
我觉得你应该使用这个:
currentItemsTable.horizontalHeader().setStretchLastSection(True)
currentItemsTable.verticalHeader().setStretchLastSection(True)
在调整大小之后,你应该调用这个....toContents(),而且每次你要根据内容调整大小之前,应该先设置setStretchLastSection(False),像这样:
currentItemsTable.verticalHeader().setStretchLastSection(False)
currentItemsTable.resizeRowsToContents()
currentItemsTable.verticalHeader().setStretchLastSection(True)
否则在调整大小的时候会出现奇怪的效果。