pyqt5 QScrollArea设置在自定义侧(任何位置)

要在自定义部件中使用 QScrollArea,可以先创建一个 QWidget,然后在这个 QWidget 上添加一个 QScrollArea,最后把你想滑动的部件添加到 QScrollArea 中。下面是设置在自定义侧的步骤。

步骤

  1. 导入 pyqt5 库,并创建一个带有滚动条的 QWidget
from PyQt5.QtWidgets import QWidget, QVBoxLayout, QScrollArea

class CustomScroll(QWidget):
    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):
        # 创建一个垂直布局
        vbox = QVBoxLayout(self)
        vbox.setContentsMargins(0, 0, 0, 0)

        # 创建一个 QScrollArea 并设置水平和垂直滚动条
        scroll = QScrollArea(self)
        scroll.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
        scroll.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)

        # 添加你想要滑动的部件到 QScrollArea 中
        widget = QWidget(self)
        vbox.addWidget(scroll)
        scroll.setWidget(widget)
        scroll.setWidgetResizable(True)
  1. 在上一步中,我们创建了一个新的 QWidget,添加了一个 QVBoxLayout 和一个 QScrollArea。但我们并没有把要滑动的部件添加到 QScrollArea 中。接下来,我们要把我们的部件添加到 QScrollArea 中。
from PyQt5.QtWidgets import QWidget, QVBoxLayout, QScrollArea, QLabel

class CustomScroll(QWidget):
    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):
        # 创建一个垂直布局
        vbox = QVBoxLayout(self)
        vbox.setContentsMargins(0, 0, 0, 0)

        # 创建一个 QScrollArea 并设置水平和垂直滚动条
        scroll = QScrollArea(self)
        scroll.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
        scroll.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)

        # 添加你想要滑动的部件到 QScrollArea 中
        widget = QWidget(self)
        scroll.setWidget(widget)
        scroll.setWidgetResizable(True)
        vbox.addWidget(scroll)

        # 创建一个 QLabel,用于内容演示
        label = QLabel('Hello World!', widget)
        vbox.addWidget(label)

这里我们创建了一个 QLabel 并添加到了我们的 widget 中。现在,在 CustomScroll 的任何位置添加一个 CustomScroll 实例就可以让这个部件通过滚动条滚动了。例如,你可以在主窗口的一个布局中添加一个 CustomScroll 的实例,以实现在主窗口的指定位置内启用垂直滚动条。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pyqt5 QScrollArea设置在自定义侧(任何位置) - Python技术站

(0)
上一篇 2023年5月25日
下一篇 2023年5月25日

相关文章

  • C++ OpenCV读写XML或YAML文件的方法详解

    C++ OpenCV是一款强大的计算机视觉库,支持读写XML或YAML文件。本文将为您详细讲解使用C++ OpenCV读写XML或YAML文件的方法。 什么是XML和YAML? XML和YAML都是一种标记语言和序列化格式,用于在不同应用程序和平台之间进行数据交换。 其中XML格式拓展性好,具有一定的语法规则,适用于存储包含复杂结构的数据。YAML格式是一种…

    人工智能概论 2023年5月24日
    00
  • Django 设置admin后台表和App(应用)为中文名的操作方法

    Django 是一个非常流行的 Python Web 框架,其中自带的 admin 后台管理系统可以帮助我们快速构建一个管理数据的页面。本篇攻略将会介绍如何设置 Django admin 后台表和 App(应用)为中文名。 1. 为 Admin 后台表设置中文名 我们可以继承 Django 自带的 ModelAdmin 类来对 admin 后台表进行定制。在…

    人工智能概论 2023年5月25日
    00
  • 从生成CRD到编写自定义控制器教程示例

    下面是关于从生成CRD到编写自定义控制器的详细攻略: 1. 生成CRD 首先,我们需要通过Kubernetes API来自定义资源并创建CRD。CRD是Custom Resource Definition的缩写,表示自定义资源定义。在Kubernetes中,自定义资源是指我们可以定义和使用的API资源类型,比如我们可以定义一个名为MyResource的自定义…

    人工智能概览 2023年5月25日
    00
  • 如何基于Jenkins构建Docker镜像

    下面我给你详细讲解“如何基于Jenkins构建Docker镜像”的完整攻略: 1. 准备工作 首先,需要在 Jenkins 中安装 Docker 插件,以便在 Jenkins 中进行 Docker 镜像构建。 其次,需要安装 Docker 环境和 Docker-Compose 环境。 2. 创建 Jenkins 任务 在 Jenkins 中创建一个 Free…

    人工智能概览 2023年5月25日
    00
  • 在django-xadmin中APScheduler的启动初始化实例

    在Django-xadmin中使用APScheduler可以很方便地实现后台任务,如定时任务、计划任务等。本篇攻略将详细讲解在django-xadmin中APScheduler的启动初始化实例的过程。 安装APScheduler 在使用APScheduler之前,需要先安装它。可以通过pip命令来进行安装: pip install apscheduler 配…

    人工智能概览 2023年5月25日
    00
  • Python进阶之如何快速将变量插入有序数组

    首先,我们先介绍一下如何将一个变量插入有序数组中: 首先,找到变量应该插入的位置,可以使用二分查找减少查找次数,从而提高插入速度。 然后,在找到正确的插入位置后,将其余元素右移一位,并将新元素插入该位置。 下面是一个使用Python语言实现将变量插入有序数组的示例代码: def insert_to_sorted_array(arr, n): left, ri…

    人工智能概览 2023年5月25日
    00
  • 在PyCharm中实现添加快捷模块

    在PyCharm中添加快捷模块有两种方式:通过PyCharm的插件机制安装第三方插件,或者通过自定义模板来实现。 安装第三方插件 打开PyCharm,在菜单栏中选择”File” -> “Settings” -> “Plugins”; 点击”Browse repositories”,在打开的对话框中搜索需要安装的插件; 选择需要安装的插件,并点击”…

    人工智能概论 2023年5月25日
    00
  • Mac中mongoDB的安装与卸载步骤详解

    Mac中MongoDB的安装与卸载步骤详解 安装MongoDB 步骤一:使用Homebrew安装MongoDB Homebrew是MacOS下非常方便的包管理器,使用它可以轻松安装MongoDB。 打开终端,输入以下命令来安装Homebrew: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubuse…

    人工智能概览 2023年5月25日
    00
合作推广
合作推广
分享本页
返回顶部