我有一个 QTableWidget,其中包含一个最后一列,该列包含长度可变的文本。
我想要根据该部分的大小将 QHeaderView 的最后一节拉伸或调整大小以适应其内容。如果内容大小未超过小部件中的剩余空间,则我希望将其拉伸(以防止小部件中出现丑陋的未填充空间)。我可以通过使用 setStretchLastSection(True) 来实现这一点。但是,如果内容大小超过了拉伸的列,我的内容的最后一部分就会被裁剪,因为列没有被调整大小。QHeaderView 为此情况提供了 ResizeToContents ResizeMode,但在短内容的情况下,这会导致小部件中出现未填充的空间。
我考虑手动调整列宽。不幸的是,我不能直接访问内容大小,因为 sectionSizeFromContents() 是受保护的。我想我可以子类化 QHeaderView 并重新实现它,但我想知道是否有更好的解决方法。
我想要根据该部分的大小将 QHeaderView 的最后一节拉伸或调整大小以适应其内容。如果内容大小未超过小部件中的剩余空间,则我希望将其拉伸(以防止小部件中出现丑陋的未填充空间)。我可以通过使用 setStretchLastSection(True) 来实现这一点。但是,如果内容大小超过了拉伸的列,我的内容的最后一部分就会被裁剪,因为列没有被调整大小。QHeaderView 为此情况提供了 ResizeToContents ResizeMode,但在短内容的情况下,这会导致小部件中出现未填充的空间。
我考虑手动调整列宽。不幸的是,我不能直接访问内容大小,因为 sectionSizeFromContents() 是受保护的。我想我可以子类化 QHeaderView 并重新实现它,但我想知道是否有更好的解决方法。
sectionSizeFromContents()
时,我会收到以下异常:RuntimeError: no access to protected functions or signals for objects not created from Python
。 - tsabschQHeaderView
的实例并将其设置到表格上即可。无需创建子类。 - ekhumorosectionSizeFromContents()
的功能,但是我可以使用其他函数来解决我的问题。 - tsabsch