Python 强制小部件具有与tableview列宽相同的宽度

Python 强制小部件具有与tableview列宽相同的宽度,python,pyqt5,qt5,qwidget,Python,Pyqt5,Qt5,Qwidget,我正在使用QTableView来显示一些数据。我想在表格的第一列垂直对齐一个小部件。其思想是小部件的宽度跟随表中列宽的任何变化 现在,我使用的是标题的sectionResized事件 self.widget = QWidget() self.table.horizontalHeader().sectionResized.connect(self._table_resize) ... def _table_resize(self, event=None, *args): self.wi

我正在使用
QTableView
来显示一些数据。我想在表格的第一列垂直对齐一个小部件。其思想是小部件的宽度跟随表中列宽的任何变化

现在,我使用的是标题的
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))
问题是它非常滞后(小部件在表格之后稍微调整大小,不美观),而且不太精确,有时大小不匹配(如果调整得很快,可能会丢失一些信号或不发送),更糟糕的是,对于一些几何体更改(我还没有完全确定),根本不发送信号,意味着小部件和表之间完全不匹配

还有别的办法吗?也许可以对表进行子类化? 我还考虑过将滑块作为表的标题(虽然对我来说不太灵活),但我还没有找到一种方法来为一列设置自定义小部件