Как мне избавиться от этого пробела в моем 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 ответ
Решение
Я думаю, что вы должны использовать это:
currentItemsTable.horizontalHeader().setStretchLastSection(True)
currentItemsTable.verticalHeader().setStretchLastSection(True)
Вы должны вызывать это после resize....toContents() и каждый раз, когда вы собираетесь изменить размер содержимого, вы должны сначала установить setStretchLastSection(False), что-то вроде:
currentItemsTable.verticalHeader().setStretchLastSection(False)
currentItemsTable.resizeRowsToContents()
currentItemsTable.verticalHeader().setStretchLastSection(True)
Или вы получите странные эффекты при изменении размера.