110.PyQt5_QScrollArea_滚动区域控件

在这里插入图片描述

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

在这里插入图片描述

QScrollArea 滚动区域控件

  • 描述
    • QScrollArea组件为一种控件容器,它的的作用是可以容纳更多的组件,如果组件过多会出现滚动条,滚动条会根据容器的大小与内部组件的大小变化
    • QScrollArea滚动区域控件类提供了关于另一个窗口的滚动的视图,一个滚动区域通常用来显示一个子窗口。
    • 如果子窗口中的内容超过了显示窗口的大小,这时候QSrollArea就会自动提供滚动条,通过操作滚动条,用户就可以浏览整个图像或者是操控窗口中的所有控件
    • QSrollArea可以给任何QWidget控件添加滚动条
  • 继承自:QAbstractScrollArea
    • QScrollBar_垂直或水平滚动条
    • QAbstractSlider_ 滑块类基类
    • QAbstractScrollArea_滚动区域抽象类
    • QScrollArea_滚动区域控件
  • 功能作用
    • 构造方法
      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_())
    

你可能感兴趣的:(PyQt5,pyqt5,python,GUI,python,pyqt,qt5)