110.PyQt5_QScrollArea_滚动区域控件

在这里插入图片描述

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈
入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈
虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈
PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈
Oracle数据库教程:👉👉 Oracle数据库文章合集 👈👈
优 质 资 源 下 载 :👉👉 资源下载合集 👈👈

在这里插入图片描述

QScrollArea 滚动区域控件
  • 描述
    • QScrollArea组件为一种控件容器,它的的作用是可以容纳更多的组件,如果组件过多会出现滚动条,滚动条会根据容器的大小与内部组件的大小变化
    • QScrollArea滚动区域控件类提供了关于另一个窗口的滚动的视图,一个滚动区域通常用来显示一个子窗口。
    • 如果子窗口中的内容超过了显示窗口的大小,这时候QSrollArea就会自动提供滚动条,通过操作滚动条,用户就可以浏览整个图像或者是操控窗口中的所有控件
    • QSrollArea可以给任何QWidget控件添加滚动条
  • 继承自:QAbstractScrollArea
  • 功能作用
    • 构造方法
      QScrollArea(parent)                 # 创建QScrollArea对象的同时设置父对象
      
    • 添加子控件
      setWidget(QWidget)                  # 设置控件为QScrollArea的子控件
      widget() -> QWidget                 # 获取QScrollArea的子控件
      
    • 删除子控件
      takeWidget() -> QWidget             # 删除QScrollArea的子控件
      
    • 滚动条自动调整
      setWidgetResizable(bool)                # 设置滚动区域部件是否自动调整
      # 设置为true,则滚动区域部件将自动调整,以避免可以不显示的滚动条,或者利用额外的空间
      
      widgetResizable()                       # 获得滚动区域部件是否自动可调的设置
      
    • 可见区域/控件设置
      ensureVisible(x, y, xMargin, yMargin)           # 确保指定区域范围可见,必要时滚动
      ensureWidgetVisible(QWidget, xMargin, yMargin)  #  确保指定的控件widget可见,必要时滚动
      
    • 滚动部件相关
      setHorizontalScrollBarPolicy(Qt.ScrollBarPolicy)           # 父类方法,设置水平滚动条策略
      setVerticalScrollBarPolicy(Qt.ScrollBarPolicy)             # 父类方法,设置垂直滚动条策略
      # 参数:Qt.ScrollBarPolicy
          # Qt.ScrollBarAlwaysOff     # 滚动条始终关闭
          # Qt.ScrollBarAlwaysOn      # 滚动条始终打开
      
      horizontalScrollBar() -> QScrollBar                         # 父类方法,获取水平滚动条控件
      verticalScrollBar() -> QScrollBar                           # 父类方法,获取垂直滚动条控件
      
  • 示例代码
  • 示例1:QScrollArea-功能作用
    from PyQt5.Qt import *
    import sys
    
    
    class Windows(QWidget):
        def __init__(self):
            super().__init__()
            self.setWindowTitle('QScrollArea-功能作用')
            self.resize(500, 300)
            self.widget_list()
    
        def widget_list(self):
            self.add_widget()
    
        def add_widget(self):
            scro_area = QScrollArea()
    
            labe2 = QLabel()
    
            pixmap = QPixmap('../images/images/2.jpeg')
            labe2.setPixmap(pixmap)
    
            layout = QHBoxLayout()
            layout.addWidget(scro_area)
            self.setLayout(layout)
    
            scro_area.setWidget(labe2)
    
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        window = Windows()
    
        window.show()
        sys.exit(app.exec_())
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

失心疯_2023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值