通常PyQt的默认QScrollBar对于高dpi显示来说太小了。这就是为什么有必要对它们进行调整。不管怎样,一旦你做到了,为什么不从你能做出的美学改进中获益呢?在
这就是如何调整QScrollBar的“外观”的方法:
########################################
# My custom QScrollArea #
# widget #
########################################
class MyScrollArea(QScrollArea):
def __init__(self, parent):
super(MyScrollArea, self).__init__(parent)
...
self.setStyleSheet("""QScrollBar:vertical {
width: 45px;
margin: 45px 0 45px 0;
background: #32CC99;
}
QScrollBar::handle:vertical {
border: 10px solid grey;
background: white;
min-height: 10px;
}
QScrollBar::add-line:vertical {
border: 2px solid grey;
background: none;
height: 45px;
subcontrol-position: bottom;
subcontrol-origin: margin;
}
QScrollBar::sub-line:vertical {
border: 2px solid grey;
background: none;
height: 45px;
subcontrol-position: top;
subcontrol-origin: margin;
}
QScrollBar::up-arrow:vertical {
border: 5px solid grey;
height: 40px;
width: 40px
}
QScrollBar::down-arrow:vertical {
border: 5px solid grey;
height: 40px;
width: 40px
}""")
...
### End init ###
### End Class ###
我找到了以下有关如何设置样式表的文档:
http://doc.qt.io/qt-4.8/stylesheet-examples.html#customizing-qscrollbar d
问题:
在定制了QScrollBars之后,它们可以完美地工作。但当用户点击手柄或箭头时,不会得到任何视觉反馈。例如,单击箭头将不会导致箭头被按下的视觉反馈。在
下面是一个示例,说明应该如何:
我不知道如何使用样式表来实现它。在
我创建了三个qss文件。在
a.qss公司
b.qss公司
^{pr2}$c.qss公司
代码:
我在学英语,希望你不要介意。在
实际上,您可以使用^{} ,但它也要求您对滚动条进行子类化。
在下面的示例中,我完全实现了垂直滚动条,您只需填充水平滚动条的基本css部分。在
相关问题 更多 >
编程相关推荐