PyQt滚动条

PyQt滚动条:

from PyQt5 import QtCore,QtGui,QtWidgets
class UI_MainWindow(object):
    def setupUI(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(800,600)
        # 中央控件
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.verticalLayoutWidget = QtWidgets.QWidget(self.centralwidget)
        self.verticalLayoutWidget.setGeometry(QtCore.QRect(70,30,620,460))
        self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
        # 垂直布局
        self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
        self.verticalLayout.setContentsMargins(0,0,0,0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.label = QtWidgets.QLabel(self.verticalLayoutWidget)
        self.label.setObjectName("label")
        self.verticalLayout.addWidget(self.label)
        self.scrollArea = QtWidgets.QScrollArea(self.verticalLayoutWidget)
        self.scrollArea.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
        self.scrollArea.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
        self.scrollArea.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustIgnored)
        self.scrollArea.setWidgetResizable(False)
        self.scrollArea.setObjectName("scrollArea")
        self.button_name = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]
        self.scrollAreaWidgetContents = QtWidgets.QWidget()
        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0,0,800,len(self.button_name) * 80))
        self.scrollAreaWidgetContents.setObjectName("self.scrollAreaWidgetContents")
        #  循环按钮
        for i in range(len(self.button_name)):
            self.pushButton = QtWidgets.QPushButton(self.ascrollAreaWidgetContents)
            #
            sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
            sizePolicy.setHorizontalStretch(0)
            sizePolicy.setVerticalStretch(25)
            sizePolicy.setHeightForWidth(self.pushButton.sizePolicy().hasHeightForWidth())
            self.pushButton.setSizePolicy(sizePolicy)
            self.pushButton.setMinimumSize(QtCore.QSize(600,60))
            self.pushButton.setMaximumSize(QtCore.QSize(16777215,10100))
            font = QtGui.QFont()
            font.setPointSize(18)
            font.setBold(True)
            font.setWeight(75)
            self.pushButton.setFont(font)
            #
            self.pushButton.setObjectName("pushButton" + str(i))
            self.pushButton.setText(self.button_name[i])
            self.pushButton.move(30,80 * i)
        self.scrollArea.setWidget(self.scrollAreaWidgetContents)
        self.verticalLayout.addWidget(self.scrollArea)
        MainWindow.setCentralWidget(self.centralwidget)
        self.retranslateUI(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
    def retranslateUI(self):
        _translate = QtCore.QCoreApplication.translate
        self.label.setText(_translate("MainWindow", "滑动条设计:"))
if __name__ =="__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = UI_MainWindow()
    ui.setupUI(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PyQt5是一个用于创建图形用户界面(GUI)的Python库,它是基于Qt框架的Python绑定。Qt是一个跨平台的应用程序开发框架,可以用于开发桌面应用程序、移动应用程序和嵌入式系统等。 滚动条PyQt5中的一个常用控件,用于在界面上显示大量内容时,提供滚动功能以便查看全部内容。滚动条可以分为水平滚动条和垂直滚动条两种类型。 在PyQt5中,可以使用QScrollBar类来创建滚动条。可以通过设置滚动条的最小值、最大值、当前值和步长等属性来控制滚动条的行为。此外,还可以通过连接滚动条的valueChanged信号来实现滚动条值的变化时的相应操作。 以下是一个使用PyQt5创建垂直滚动条的示例代码: ```python from PyQt5.QtWidgets import QApplication, QMainWindow, QScrollBar class MainWindow(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): scrollbar = QScrollBar(self) scrollbar.setOrientation(Qt.Vertical) scrollbar.setMinimum(0) scrollbar.setMaximum(100) scrollbar.setValue(50) scrollbar.setSingleStep(1) scrollbar.valueChanged.connect(self.onScroll) self.setGeometry(100, 100, 300, 200) self.setWindowTitle('Scrollbar Example') self.show() def onScroll(self, value): print('Scroll value:', value) if __name__ == '__main__': app = QApplication([]) window = MainWindow() app.exec_() ``` 这段代码创建了一个带有垂直滚动条的窗口,并设置了滚动条的最小值为0,最大值为100,当前值为50,步长为1。当滚动条的值发生变化时,会触发onScroll方法,并打印出滚动条的值。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值