我'正在寻找像"行高改变的事件或信号"如果用户在我的QTableView中更改行的高度,则调用该函数。我想使用此信号将QTableView中的所有其他行调整到新的高度。我没有'找到这样的事件或信号所以我认为必须有某种方便的解决方法。
任何建议都将受到赞赏。
答案 0 :(得分:3)
行调整大小由垂直QHeaderView执行。发出它的对象是QTableView :: verticalHeader()
您感兴趣的信号是
void QHeaderView::sectionResized ( int logicalIndex, int oldSize, int newSize )
调整节大小时会发出此信号。该部分的逻辑编号由logicalIndex指定,旧尺寸由oldSize指定,新尺寸由newSize指定。
答案 1 :(得分:1)
使用QHeaderView
(您可以通过致电QTableView::horizontalHeader()
/ QTableView::verticalHeader()
获取实例)并连接到geometriesChanged()
或sectionResized()
答案 2 :(得分:0)
QHeaderView
和sectionResized
的解决方案非常适合我。所以要调整大小
行与编辑行的高度相同我现在使用此代码:
class MyWidget(QWidget):
def __init__(self, parent=None):
#Do some other init things
self.myTable.verticalHeader().sectionResized.connect(
self.row_resized)
def row_resized(self, index, old_size, new_size):
for i in range(self.myTable.verticalHeader().count()):
self.myTable.setRowHeight(i, new_size)