Python源码示例:PyQt5.QtCore.Qt.ScrollBarAlwaysOn()
示例1
def __init__(self, parent=None, frame=QtWidgets.QFrame.Box):
super(FIRSTUI.ScrollWidget, self).__init__()
# Container Widget
widget = QtWidgets.QWidget()
# Layout of Container Widget
self.layout = QtWidgets.QVBoxLayout(self)
self.layout.setContentsMargins(0, 0, 0, 0)
widget.setLayout(self.layout)
# Scroll Area Properties
scroll = QtWidgets.QScrollArea()
scroll.setFrameShape(frame)
scroll.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
scroll.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
scroll.setWidgetResizable(True)
scroll.setWidget(widget)
# Scroll Area Layer add
scroll_layout = QtWidgets.QVBoxLayout(self)
scroll_layout.addWidget(scroll)
scroll_layout.setContentsMargins(0, 0, 0, 0)
self.setLayout(scroll_layout)
示例2
def __init__(self, *args, **kwargs):
super(TableView, self).__init__(*args, **kwargs)
self.setAlternatingRowColors(True)
self.horizontalHeader().setHighlightSections(False)
self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
self.verticalHeader().setVisible(False)
self.verticalHeader().setHighlightSections(False)
# self.verticalHeader().setDefaultSectionSize(24)
self.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
self.setSelectionBehavior(QTableView.SelectRows)
self.setSelectionMode(QTableView.SingleSelection)
self.setEditTriggers(self.NoEditTriggers)
示例3
def __init__(self):
QGraphicsView.__init__(self)
# Image is displayed as a QPixmap in a QGraphicsScene attached to this QGraphicsView.
self.scene = QGraphicsScene()
self.setScene(self.scene)
# Store a local handle to the scene's current image pixmap.
self._pixmapHandle = None
# Image aspect ratio mode.
# !!! ONLY applies to full image. Aspect ratio is always ignored when zooming.
# Qt.IgnoreAspectRatio: Scale image to fit viewport.
# Qt.KeepAspectRatio: Scale image to fit inside viewport, preserving aspect ratio.
# Qt.KeepAspectRatioByExpanding: Scale image to fill the viewport, preserving aspect ratio.
self.aspectRatioMode = Qt.KeepAspectRatio
# Scroll bar behaviour.
# Qt.ScrollBarAlwaysOff: Never shows a scroll bar.
# Qt.ScrollBarAlwaysOn: Always shows a scroll bar.
# Qt.ScrollBarAsNeeded: Shows a scroll bar only when zoomed.
self.setHorizontalScrollBarPolicy(Qt.ScrollBarAsNeeded)
self.setVerticalScrollBarPolicy(Qt.ScrollBarAsNeeded)
# Stack of QRectF zoom boxes in scene coordinates.
self.zoomStack = []
# Flags for enabling/disabling mouse interaction.
self.canZoom = True
self.canPan = True
示例4
def __init__(self, parent=None):
super(Window, self).__init__(parent)
self.resize(800, 600)
# 设置横向纵向滚动条总是显示
self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
self.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
with open("Data/ScrollBar.qss", "rb") as fp:
content = fp.read()
encoding = chardet.detect(content) or {}
content = content.decode(encoding.get("encoding") or "utf-8")
self.setText(content)
# 设置样式
self.setStyleSheet(content)
示例5
def scroll(self, item):
if isinstance(item, list):
item = item if len(item) > 0 else ""
scroll = QScrollArea()
scroll.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
scroll.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
scroll.setMaximumHeight(50)
scroll.setFrameShape(QFrame.NoFrame)
scroll.setBackgroundRole(3)
label = QLabel(str(item))
label.setContentsMargins(5, 5, 5, 5)
scroll.setWidget(label)
return scroll
示例6
def __init__(self, parent):
qw.QScrollArea.__init__(self, parent)
self.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
self.horizontalScrollBar().setEnabled(False)
# If removed, you will get unused space to the right and bottom.
self.setWidgetResizable(True)
# Only allow expanding, not shrinking.
self.setSizePolicy(qsp(qsp.Minimum, qsp.Minimum))
示例7
def _set_table_style(self):
# 开启水平与垂直滚轴
self.table.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
self.table.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
# 设置 5 行 8 列 的表格
self.table.setColumnCount(8)
self.table.setRowCount(5)
# 设置标准宽度
self.width = self.screen.width() // 8
# 设置单元格的宽度
for i in range(8):
self.table.setColumnWidth(i, self.width)
# 设置单元格的高度
# 设置纵横比为 4 : 3
for i in range(5):
self.table.setRowHeight(i, self.width * 4 // 3)
# 隐藏标题栏
self.table.verticalHeader().setVisible(False)
self.table.horizontalHeader().setVisible(False)
# 禁止编辑
self.table.setEditTriggers(QAbstractItemView.NoEditTriggers)
# 不显示网格线
self.table.setShowGrid(False)
# 将单元格绑定右键菜单
# 点击单元格,调用 self.generateMenu 函数
self.table.setContextMenuPolicy(Qt.CustomContextMenu)
self.table.customContextMenuRequested.connect(self.generate_menu)
示例8
def _setTableStyle(self):
# 开启水平与垂直滚轴
self.table.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
self.table.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
# 设置 5 行 8 列 的表格
self.table.setColumnCount(8)
self.table.setRowCount(5)
# 设置标准宽度
self.width = self.screen.width()// 8
# 设置单元格的宽度
for i in range(8):
self.table.setColumnWidth(i, self.width)
# 设置单元格的高度
# 设置纵横比为 4 : 3
for i in range(5):
self.table.setRowHeight(i, self.width * 4 // 3)
# 隐藏标题栏
self.table.verticalHeader().setVisible(False)
self.table.horizontalHeader().setVisible(False)
# 禁止编辑
self.table.setEditTriggers(QAbstractItemView.NoEditTriggers)
# 不显示网格线
self.table.setShowGrid(False)
# 将单元格绑定右键菜单
# 点击单元格,调用 self.generateMenu 函数
self.table.setContextMenuPolicy(Qt.CustomContextMenu)
self.table.customContextMenuRequested.connect(self.generateMenu)