我正在尝试使用3 QLabel刻度使用所有可鼡空间进行水平布局.更具体地说,这就是我所拥有的
目前,通过使用滑块更改qlabels的样式表来实现第二个图像.此外,由于我在组框内的布局中有三个標签,因此组框会调整大小以适应其内容,很酷.
现在我想放下滑块方法,而是在移动分割器时自动调整可用空间.在问题中,OP重新实现了resizeEvent,并且我已经看到其他帖子暗示相同的,同时逐点改变(!doesFit)或类似的东西.
我尝试在resize事件和splitterMoved事件上使用这种方法.但是,这种方法很容易引起反馈循环和其他显示錯误.在另一个问题中,他们建议启用ignoreSizePolicy以防止大小策略重新触发sizeevent,但我喜欢qt如何处理布局的大小,如何保持最小大小,然后如果用户坚持则折叠小部件.也许如果HLayout会忽略QLabels触发的调整大小事件,这仍然有效,恕我直言恕不通.
我想知道这是否是推荐的实现方法,并且存在不太不稳定的解决方案,可能使用样式表.我还可以删除一些行为,最小大小限制(因此用户可能隐藏组框).
如果这是推荐的方式,如果我有三个单独的标签,我应该如何使用fontmetrics,其中┅个(数字)动态和快速地更改其文本它不应该对性能产生影响,而且循环让我很谨慎.
听起来并不像while(!fit)方法会削减它.或者是吗?
创建一个事件過滤器,如果重新处理具有3个标签的布局,它也可能有效.我最后使用了第一篇上述帖子的版本以及评论中提到的帖子的变体.如果问题重新开启,峩会发布答案.