PyQt5更改样式表中垂直滚动条的宽度会更改minimumSizeHint,希望避免

2024-10-03 13:20:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我在做一个小部件,我想有最小的高度。我可以做到这一点,但是当我更改样式表时,minimumSzeHint会变低。结果是:

enter image description here

最左边的盒子就是它原来的样子。中间是它的行为方式,只是我没有设置样式表。正确的形象是我想要的。我可以通过删除QScrollbar::vertical的宽度来实现这一点。

 QScrollBar:vertical {
    border: none;
    background-color: rgba(255,255,255,0);
    width: 10px; ##<---- Remove this, to "fix"##
    margin: 0px 0px 0px 0px;
}

我怎样才能保持这一变化,或者改变它呢。我需要这个改变来做其他的事情,所以仅仅删除它并不像从这张图片中看到的那样理想。

我使用一个具有QTreeWidgetItems的自定义QTreeWidget,将其添加到QVBoxLayout中,QVBoxLayout用作QWidget的布局。制作了4个QTreeWidgets。

然后设置样式表并调整小部件的大小以节省空间:

^{pr2}$

self指的是QWidget本身。可以发布简化的代码,但它在解释这一点上没有做太多。


Tags: 宽度高度部件方式样式表盒子形象vertical
1条回答
网友
1楼 · 发布于 2024-10-03 13:20:30

我现在解决了这个问题,至少有一部分是通过在滚动条上增加一些边距来解决的。我不知道为什么会这样。但我认为这与如何计算最小大小有关,以及滚动条占用的空间,以及这对最小大小的影响。所以我想我用宽度的裕度来弥补宽度上的损失(通过增加宽度,我得到了预期的结果)。查看此处的更改:

QScrollBar:vertical {
    border: none;
    background-color: rgba(255,255,255,0);
    width: 10px;
    margin: 0px 0px 0px 5px;
 } 

相关问题 更多 >