在QSplitter中调整小部件的大小

resizing widgets inside the QSplitter

本文关键字:小部 QSplitter 调整      更新时间:2023-10-16

QSplitter子窗口小部件由于其他原因而调整大小时,我需要更新QSplitterHandle的位置,而不是移动拆分器手柄。特别是,我在拆分器中有一个复合小部件,它的一个子部件是隐藏的。我尝试过以下方法:

  1. 将CCD_ 3设置为widget
  2. QSizePolicy设置为QSplitter中的其他窗口小部件
  3. QSplitter中的小部件设置拉伸因子

我在QT支持中心问了同样的问题,答案如下:遗憾的是,手柄位置没有自动更新功能。setSize()函数是一个更新大小的好选项,但我可以看到每次重新计算大小的问题。另一种方法是实现自己的拆分器,并调用其受保护的函数moveSplitter()。您仍然需要计算拆分器句柄需要移动到的位置,但不必重新计算所有小部件的大小。