我正在使用 QTableView
来显示一些数据。我想在表格的第一列上垂直对齐一个小部件。这个想法是小部件宽度跟随表格中列宽的任何变化。
现在我正在使用 header 的 sectionResized
事件
self.widget = QWidget()
self.table.horizontalHeader().sectionResized.connect(self._table_resize)
...
def _table_resize(self, event=None, *args):
self.widget.setFixedWidth(self.table.columnWidth(0))
问题是它很滞后(小部件在表格之后稍微调整大小,不合理),并且不是很精确,有时,大小不匹配(如果调整大小很快,可能会错过某些信号或不发送) ,更糟糕的是,对于一些几何变化(我还没有完全确定),根本没有发送信号,这意味着小部件和表格之间完全不匹配。
还有其他方法吗?也许对表进行子类化? 我也想过将滑块作为表格的标题(虽然对我来说不太灵活),但我还没有找到一种方法来为一列设置自定义小部件。