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

yizhihongxing

要在自定义部件中使用 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日

相关文章

  • PyTorch dropout设置训练和测试模式的实现

    PyTorch中的dropout模块可以在神经网络的训练过程中随机地丢弃一部分神经元(即将它们输出值设为0),以达到防止过拟合的目的。然而,在测试模型时我们希望所有的神经元都参与计算,这时需要设置dropout为测试模式。本文将详细讲解如何在PyTorch中设置dropout的训练和测试模式。 首先,PyTorch中的dropout模块包含在nn模块中,可通…

    人工智能概论 2023年5月25日
    00
  • Python ORM框架SQLAlchemy学习笔记之关系映射实例

    Python ORM框架SQLAlchemy学习笔记之关系映射实例 什么是ORM框架 ORM (Object Relational Mapping) 即对象关系映射,是通过使用描述对象和数据库之间映射的元数据,将面向对象语言程序中的对象自动持久化到关系型数据库中。 ORM框架的优点: ORM框架能够消除常见的 SQL 注入问题,提高代码的安全性。 ORM框架…

    人工智能概论 2023年5月25日
    00
  • Django项目中使用JWT的实现代码

    下面是关于Django项目中使用JWT的实现代码的完整攻略,包括最基本的JWT的使用和带有自定义用户模型的JWT使用: 基本JWT的使用 步骤1:安装相关库 在Django项目中使用JWT,需要安装两个Python库:pyjwt和django-rest-framework-jwt,可以使用以下命令进行安装: pip install pyjwt pip ins…

    人工智能概论 2023年5月25日
    00
  • so easy!10行代码写个”狗屁不通”文章生成器功能

    下面是详细的攻略: 1. 安装必要的库 安装两个必要的Python库,jieba和random: pip install jieba pip install random 2. 准备文章数据 准备一份文本数据集,可以是网上搜集的一些博文、新闻等,也可以是自己的文章,保存为txt文件格式。 3. 代码实现 代码如下: import jieba import r…

    人工智能概论 2023年5月25日
    00
  • Django中使用pillow实现登录验证码功能(带刷新验证码功能)

    以下是详细讲解“Django中使用pillow实现登录验证码功能(带刷新验证码功能)”的完整攻略,包含两条示例说明: 1. 安装pillow库 在Django中使用pillow来生成验证码实现登录验证功能,首先需要安装pillow库。可以通过以下命令在终端中安装: pip install pillow 2. 修改app.views.py文件 在app.vie…

    人工智能概论 2023年5月25日
    00
  • c++将字符串转数字的实例方法

    接下来我将详细介绍如何使用 C++ 中的方法将字符串转成数字,具体步骤如下: 1. 使用 stoi 函数将字符串转换为整型 C++ 中的 stoi 函数可以将字符串转换为整型。这个函数的使用方法如下: #include <string> #include <iostream> using namespace std; int main…

    人工智能概览 2023年5月25日
    00
  • python购物车程序简单代码

    下面我将详细讲解“python购物车程序简单代码”的完整攻略: 一、需求分析 在开始编写代码之前,我们需要明确代码实现的需求,这里我们可以列出如下的需求: 用户可以添加商品到购物车中。 用户可以从购物车中删除商品。 用户每次添加、删除商品后,都可以查看当前的购物车情况。 用户可以随时退出程序。 二、代码实现 在明确了需求后,我们可以开始着手编写代码,下面是一…

    人工智能概论 2023年5月25日
    00
  • 详解python Todo清单实战

    详解python Todo清单实战 简介 本篇攻略将要介绍如何用Python语言实现一个Todo清单,通过实战演示不同功能模块的编写过程,帮助读者熟悉Python语言的基础知识和实践能力。 环境搭建 首先,需要保证电脑上已经安装Python3版本。如果没有安装,可以按照官网的指引进行安装。 安装好Python3后,需要安装两个Python包来完成我们的实战:…

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