QScrollArea删除区域内容和滚动条之间的空格。

时间:2014-10-27 16:14:53

标签: css qt qt4.8 qtstylesheets

我遇到了QScrollArea的问题。

特别是我找不到合适的QSS规则来删除QSrollArea QFrame和QScroll之间的3px空间。

我想删除的空间是图片中红色箭头指向的空间。我还在QSrollArea的内部QFrame中添加了一个蓝色边框,但它似乎正确结束。

可以在此处找到图片:http://i58.tinypic.com/2h71a2c.png

我在SLED 11 SP2(在GNOME下)使用QT 4.8.5。

我的QSS看起来像这样:

QScrollArea {
    background: transparent;
}

QScrollArea > QWidget > QWidget
{
    background: transparent;
    border: 1px solid black;
    margin: 0px 0px 0px 0px;
}    

QScrollBar:horizontal
{
    border: 1px solid #999999;
    background:white;
    height:7px;
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
}

QScrollBar::handle:horizontal {
    background: qlineargradient(x1:0, y1:0, x2:1, y2:0, stop: 0  rgb(32, 47, 130), stop: 0.5 rgb(32, 47, 130),  stop:1 rgb(32, 47, 130));
    min-width: 20px;
}

QScrollBar::add-line:horizontal {
    background: qlineargradient(x1:0, y1:0, x2:1, y2:0, stop: 0  rgb(32, 47, 130), stop: 0.5 rgb(32, 47, 130),  stop:1 rgb(32, 47, 130));
    height: 0px;
    subcontrol-position: right;
    subcontrol-origin: margin;
}

QScrollBar::sub-line:horizontal {
    background: qlineargradient(x1:0, y1:0, x2:1, y2:0, stop: 0  rgb(32, 47, 130), stop: 0.5 rgb(32, 47, 130),  stop:1 rgb(32, 47, 130));
    height: 0px;
    subcontrol-position: left;
    subcontrol-origin: margin;
}

任何想法?

感谢。

1 个答案:

答案 0 :(得分:0)

是否必须仅从QSSQSS执行此操作?我认为更改layoutBottomMargin({em>即 scrollAreaWidgetContents内的小部件的QScrollArea将解决问题。