【python/pyside2】向QVBoxLayout添加滚动条
import sys
from PySide2.QtWidgets import *
from PySide2.QtGui import QFont
from PySide2 import QtCore font = QFont()
font.setPointSize(20) class NewButton(QPushButton):
def __init__(self, *args):
super().__init__(*args)
self.setFont(font) class Form(QDialog):
def __init__(self, parent=None):
super(Form, self).__init__(parent) self.v1 = QVBoxLayout()
self.v2 = QVBoxLayout() self.v2.b1 = NewButton("按钮1")
self.v2.b2 = NewButton("按钮2")
self.v2.b1.clicked.connect(self.additem)
self.v2.addWidget(self.v2.b1)
self.v2.addWidget(self.v2.b2)
self.additem()
w = QWidget()
w.setLayout(self.v1)
area = QScrollArea()
area.setWidget(w)
# area.setLayout(self.v1)
area.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
# area.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
area.setWidgetResizable(True) layout = QHBoxLayout()
layout.addWidget(area)
# layout.addLayout(self.v1)
layout.addLayout(self.v2) self.setLayout(layout) def additem(self):
self.v1.addWidget(NewButton("新的按钮")) if __name__ == '__main__':
app = QApplication(sys.argv)
form = Form()
form.show()
sys.exit(app.exec_())
思路说明
QScrollArea 只要简单设置就能有滚动条 QScrollArea.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
PS,水平方向有相似的方法,后面的参数不能是bool值,只能是QtCore.Qt.ScrollBarAlwaysOn或者QtCore.Qt.ScrollBarAlwaysOff
但是QScrollArea 不能和Layout一样addWidget或addLayout。QScrollArea实质还是Widget,只能setWidget或setLayout “挂载”上一个其他东西。
但实际测试发现,还有一个十分重要的设置QScrollArea.setWidgetResizable(True)必须有,所以代码是一个QScrollArea先setWidget一个Widget然后Widget再setLayout上QVBoxLayout
我的视频里面有实际的效果演示
https://www.bilibili.com/video/BV13u411v7hp
【python/pyside2】向QVBoxLayout添加滚动条的更多相关文章
- java中向JTextArea中添加滚动条(垂直的和水平的)
这次在研究java的swing类时,在做一个实例时,发现了JTextArea中添加滚动条的问题,经过网上查找资料和自己测试发现有以下用法: 1.首先应该把JTextArea添加到一个JScrollPa ...
- C# 给picturebox添加滚动条
在一个项目中需要给picturebox增加滚动条,我先前的做法和网上一样,将picturebox放在一个panel上,将panel的AutoScroll设置为ture,将picturebox的Size ...
- java swing:文本框添加滚动条
有几点要注意: 1.默认的滚动条,仅在输入的文本超过文本框时才会显示..没有超过文本框是不会显示的: 2.设置矩形大小,是在滚动条上设置,而不是在文本框上设置: 示例代码如下: public clas ...
- div添加滚动条常见属性
由于页面上的表里的末一列的内容太多,显示的内容不美观了,就想在这一列上加滚动条,在网上搜了一下,用div可以实现,感觉还不错,下面的是在网上查到的. 想在div里添加滚动条设置一下style就ok了 ...
- python类可以任意添加属性
python类可以任意添加属性 class A(object): def __init__(self): self.name = "zhangsan" self.age = 18 ...
- DataGrid添加滚动条
DataGrid中是没有滚动条的,要添加滚动条需要借助<div>层 <div style="overflow:auto;width:95%;height:95%" ...
- Python 日志输出中添加上下文信息
Python日志输出中添加上下文信息 除了传递给日志记录函数的参数(如msg)外,有时候我们还想在日志输出中包含一些额外的上下文信息.比如,在一个网络应用中,可能希望在日志中记录客户端的特定信息,如: ...
- VC对话框实现添加滚动条实现滚动效果
对话框滚动条及滚动效果实现,用的api主要有: ScrollWindow, SetScrollInfo, GetScrollInfo, SetWindowOrgEx.涉及的数据结构为SCROLLINF ...
- HTML如何给table添加滚动条
HTML如何给table添加滚动条 要给table添加滚动条其实很简单,主要是给table放到一个div里去,然后再设置div显示滚动条即可.示例代码如下所示: <!--div比table大小要 ...
- android textview添加滚动条
给textview添加滚动条 方式一: xml代码: //设置滚动条的方向 android:scrollbars="vertical" java中设置 tView=(TextVie ...
随机推荐
- Spring Boot启动时执行初始化操作三种方法分享
@PostConstruct对于注入到Spring容器中的类,在其成员函数前添加@PostConstruct注解,则在执行Spring beans初始化时,就会执行该函数.但由于该函数执行时,其他Sp ...
- wsl ubuntu vscode 安装 Fira Code
如果使用windows terminal(其实就是powershell)那么只需要在windows 中安装 Fira Code 即可,但是如果需要让wsl 中的vscode 也用Fira Code 就 ...
- WSL 配置输入法
安装输入法 sudo apt install dbus-x11 im-config fonts-noto fcitx fcitx-pinyin fcitx-sunpinyin fitx-googlep ...
- 使用HtmlAgilityPack 爬取 国家统计局 区划和城乡划分代码
HtmlAgilityPack:Html解析神器,根据url地址解析html页面内容. 项目引用HtmlAgilityPack.dll文件或者通过安装 nuget 包 HtmlAgilityPack ...
- maven项目构建报错:Could not find artifact com.xxx.cloud:xxx-cloud:pom:1.0-SNAPSHOT and 'parent.relativePath' points at wrong local POM
maven多模块项目打包的时候报错如下: [ERROR] [ERROR] Some problems were encountered while processing the POMs: [FATA ...
- 学习Java Day9
今天学习了switch,以及bread和read_date的使用,还学习了大数
- 对Jim博士质疑的质疑
我只是中科大一个本科生,不像Jim博士那样顶了博士的帽子.去年他上头条的时候评论了他的一篇文章. 看了他的一些文章,感觉他对国内科研现状以及和美西方的差距非常了解,并且做了大量的调研,站在国家的立 ...
- Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'xxx' in 'where clause'
在使用Ruoyi管理系统中出现这个问题 Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column ...
- RocketMQ - 消费者概述
消费流程 消费者组: 一个逻辑概念,在使用消费者时需要指定一个组名.一个消费者组可以订阅多个Topic. 消费者实例: 一个消费者组程序部署了多个进程,每个进程都可以称为一个消费者实例. 订阅关系: ...
- Os-hackNos-3
Os-hackNos-3 目录 Os-hackNos-3 1 信息收集 1.1 端口扫描 1.2 后台目录扫描 1.2.1 目录分析 2 爆破后台登录页面 2.1 BP爆破 2.2 hydra爆破 3 ...