在PyQt中,我试图创建一个QTableWidget。这一切都很完美。但是,当我尝试调整行的大小时,除最后一行外,所有行都会调整大小。我不想使用setMaximumHeight,因为行数可能会有所不同
这是我的代码:
self.table = QtWidgets.QTableWidget()
self.table.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
self.table.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
self.table.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustToContents)
self.table.setAlternatingRowColors(True)
self.table.setStyleSheet("alternate-background-color: rgb(240, 240, 240);background-color: rgb(231, 231, 231);border-width: 0px; border-style: solid")
self.table.horizontalHeader().setStyleSheet("::section{Background-color:rgb(240, 240, 240); border: none; height: 70px}")
self.table.setFrameStyle(QtWidgets.QFrame.NoFrame)
self.table.setColumnCount(3)
self.table.setRowCount(7)
self.table.verticalHeader().setVisible(False)
self.table.setShowGrid(False)
self.table.setSelectionMode(QtWidgets.QAbstractItemView.NoSelection)
self.table.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
self.table.setMinimumWidth(690)
self.horizontalHeader = self.table.horizontalHeader()
self.horizontalHeader.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch)
self.horizontalHeader.setSectionResizeMode(1, QtWidgets.QHeaderView.ResizeToContents)
self.horizontalHeader.setSectionResizeMode(2, QtWidgets.QHeaderView.ResizeToContents)
self.horizontalHeader.setDefaultAlignment(Qt.AlignLeft)
self.horizontalHeader.setDefaultAlignment(Qt.AlignVCenter)
self.table.setHorizontalHeaderLabels(("Deck;Due;New").split(";"))
self.tableHeaderFont = self.table.horizontalHeader().font()
self.tableHeaderFont.setPointSize(10)
self.tableHeaderFont.setBold(True)
self.tableHeaderFont.setWeight(75)
self.table.horizontalHeader().setFont(self.tableHeaderFont)
self.verticalHeader = self.table.verticalHeader()
self.verticalHeader.setMinimumSectionSize(30)
for section in range(self.verticalHeader.count()):
self.verticalHeader.resizeSection(section, 30)
这就是我得到的结果
您可以尝试在顶部设置大小策略。这就是我所做的:
总代码如下所示:
相关问题 更多 >
编程相关推荐