我的应用程序的主容器box包含15简单的按钮QPushButton和一个垂直滚动条,我需要更改它的视觉特征。
我看过 的样式表QScrollBar,但我仍然不明白这些 3D 结构是如何工作的。
尝试重新制作它们以满足您的需求总是会导致错误:
无法解析对象 QScrollArea 的样式表
我需要条带满足以下参数:
条纹的宽度(由图中的数字表示
2)应为 10px。带角必须是скруглены。条带的背景宽度(由图中的数字表示
1)应为 10px。条带的背景角度应该是скруглены。条带末端的上/下箭头(由图中的数字表示
3)不得有背景、边框或其他不必要的元素。我希望它们是简单的 10px 圆圈。这是这样一个圆圈的png图像:
请告诉我该怎么做?
from PyQt5 import QtCore, QtWidgets, QtGui
class MyWindow(QtWidgets.QWidget):
def __init__(self, parent=None):
super().__init__(parent)
scrollArea = QtWidgets.QScrollArea()
content_widget = QtWidgets.QWidget()
scrollArea.setWidget(content_widget)
scrollArea.setWidgetResizable(True)
scrollArea.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
scrollArea.setStyleSheet(stylesheet)
box1 = QtWidgets.QGridLayout(content_widget)
for n in range(1, 15):
btn = QtWidgets.QPushButton(f'Button{n}',
clicked = lambda ch, n=n: print(f'Button{n}'))
box1.addWidget(btn, n-1, 0)
box = QtWidgets.QHBoxLayout(self)
box.addWidget(scrollArea)
stylesheet = (''' border-style: hidden; ''') # Важно сохранить эту характеристику
if __name__ == '__main__':
import sys
app = QtWidgets.QApplication(sys.argv)
window = MyWindow()
window.setWindowTitle(' ')
window.show()
sys.exit(app.exec_())

如果这是您需要的,那么您可以自己调整颜色。如果有问题,请写下 - 出了什么问题。