微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决强制小部件具有与 tableview 列宽相同的宽度

我正在使用 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))

问题是它很滞后(小部件在表格之后稍微调整大小,不合理),并且不是很精确,有时,大小不匹配(如果调整大小很快,可能会错过某些信号或不发送) ,更糟糕的是,对于一些几何变化(我还没有完全确定),根本没有发送信号,这意味着小部件和表格之间完全不匹配。

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。