python 动态调整控件大小_python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例...

PyQt5动态(可拖动控件大小)布局控件QSplitter简介

PyQt还提供了特殊的布局管理器QSplitter。它可以动态地拖动子控件之间的边界,算是一个动态的布局管理器,QSplitter允许用户拖动子控件的边界控制子控件的大小,并提供一个处理拖曳子控件的控制器

在QSplitter对象中各子控件默认是横向布局的,可以使用Qt,Vertical进行垂直布局

QSplitter类中常用的方法

方法

描述

addWidget()

将小控件添加到QSplitter管理器的布局中

indexOf()

返回小控件在QSplitter管理器中的索引

insertWidget()

根据指定的索引将一个控件插入到QSplitter管理器中

setOrientation()

设置布局的方向

Qt.Horizontal:水平方向

Qt.Vertical:垂直方向

setSizes()

设置控件的初始大小

count()

返回小控件在QSplitter管理器中的数量

QSplitter的使用实例

import sys

from PyQt5.QtWidgets import *

from PyQt5.QtCore import *

from PyQt5.QtGui import *

class SplitterExample(QWidget):

def __init__(self):

super(SplitterExample, self).__init__()

self.initUI()

def initUI( self ):

#设置全局布局为水平布局,设置标题与初始大小窗口

hbox=QHBoxLayout()

self.setWindowTitle("QSplitter例子")

self.setGeometry(300,300,300,200)

#实例化QFrame控件

topLeft=QFrame()

topLeft.setFrameShape(QFrame.StyledPanel)

bottom=QFrame()

bottom.setFrameShape(QFrame.StyledPanel)

#实例化QSplitter控件并设置初始为水平方向布局

splitter1=QSplitter(Qt.Horizontal)

textedit=QTextEdit()

#向Splitter内添加控件。并设置游戏的初始大小

splitter1.addWidget(topLeft)

splitter1.addWidget(textedit)

splitter1.setSizes([100,200])

#实例化Splitter管理器,添加控件到其中,设置垂直方向

splitter2=QSplitter(Qt.Vertical)

splitter2.addWidget(splitter1)

splitter2.addWidget(bottom)

#设置窗体全局布局以及子布局的添加

hbox.addWidget(splitter2)

self.setLayout(hbox)

if __name__ == '__main__':

app=QApplication(sys.argv)

demo=SplitterExample()

demo.show()

sys.exit(app.exec_())

运行效果如下

代码分析

在这个例子中,显示了使用两个QSplitter组织的两个QFame控件,其中第一个QSplitter对象包含一个QFrame对象和QTextEdit对象,并按照水平方向进行布局

splitter1=QSplitter(Qt.Horizontal)

textedit=QTextEdit()

#向Splitter内添加控件。并设置游戏的初始大小

splitter1.addWidget(topLeft)

splitter1.addWidget(textedit)

splitter1.setSizes([100,200])

第二个QSplitter对象添加第一个QSplitter对象和一个QFrame对象,并按照垂直布局

splitter2=QSplitter(Qt.Vertical)

splitter2.addWidget(splitter1)

splitter2.addWidget(bottom)

本文主要介绍了PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例,更多关于PyQt5布局控件的使用知识请查看下面的相关链接

本文标题: python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例

本文地址: http://www.cppcns.com/jiaoben/python/302336.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/498854.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

斐讯n1刷linux服务器,斐讯N1刷机Linux(Armbian)

一、降级N1打开ADB链接开始降级。降级后版本号不变二、第三方固件依然是上面的链接(官改v2.2)USB双头线链接HDMI借口最近的USB和电脑的USB进入线刷模式(电视不会显示任何东西,但是电脑会显示设备已连接)。打开上面的刷机工具刷入官改v2.2。理论刷完后重启即可进入安…

python 四足机器人运动学_撸了个四足机器人

纯粹分享一下踩过的坑…… Robot,男人的浪漫~组装完成后,就是这样子了:1 )主控:Raspberry Pi Zero W,1 个对于新手,这是最容易上手的硬件了。软件方面有很好的支持,资料非常丰富。例…

delphi开发LINUX程序,DELPHI开发LINUX包

DELPHI开发LINUX包我们知道,有了包的存在,开发插件架构的程序,才成为可能 。DELPHI在WINDOWS里面的包的扩展名是.bpl。在LINUX里面的包的扩展名是.o。怎样在LINUX里面加载.o的包?不论加载WINDOWS的包,还是加载LINUX的包…

python3多进程写时拷贝_python多进程实现复制文件

[Python] 纯文本查看 复制代码多进程实现复制文件步骤:(1)获得源文件夹路径;(2)获取源文件夹下各文件的文件名(3)获得目标文件夹(4)复制文件(文件夹不能复制)新增内容:复制一个文件夹下的所有文件知识点:(1)os模块:1&g…

在linux cuda安装教程,Ubuntu20.04安装cuda10.1的步骤(图文教程)

安装前准备cuda的主要用途是深度学习,而目前主流的深度学习框架tensorflow2最高支持cuda 10.1,因此本文讲解在ubuntu 20.04系统上安装cuda 10.1的主要过程。首先要查看你的nvidia显卡驱动是否支持cuda10.1版本。在终端执行以下命令:nvidia-sm…

9050 端口 linux 进程,Linux中查看某个端口占用情况

Bridge模式——对象结构型模式今天看了Bridge模式,对其进行简单的总结,并给出几篇通俗易懂的文章链接. (一)意图--将抽象部分和它的实现部分分离,使它们都可以独立地变化. 适用于从多维度描述的类型,拆解开来,使其能沿着各维度 ...如何在终端实时展现git分支在微博上看到ghosTM…

代码重构的方法和经验_关于烂代码优化重构的几点经验

是否已经读过前面两篇关于烂代码和好代码的文章?这些让人抓狂的烂代码,你碰到几种?什么才是好代码、高质量代码?工作中,总会不可避免的接触到烂代码,就像之前说的,几乎没有程序员可以完全避免写…

moodle环境安装linux,在Ubuntu 18.04/Debian 9上安装Moodle的步骤

本文介绍在Ubuntu 18.04/Debian 9系统上安装Moodle的的详细步骤,需要准备PHP、Apache/Nginx Web服务器及MySQL/MariaDB数据库。简介Moodle是一个免费的开源学习管理系统,用PHP编写,并在GNU通用公共许可证下发布。从Moodle创建学习课程&#x…

python分类下取得所有子类_如何找到给定名称的类的所有子类?

新样式类(即从object,这是Python 3中的缺省值。__subclasses__方法,该方法返回以下子类:class Foo(object): passclass Bar(Foo): passclass Baz(Foo): passclass Bing(Bar): pass以下是子类的名称:print([cls.__name__ for cls i…

linux路由表生成,路由表(FIB)内容的生成(一)

前面已经讲到过路由表的初始化,路由表是一个比较复杂的数据结构,一下子并不好理解。下面我们通过模块初始化时Linux的notify机制所触发的网络设备事件回调myfib_netdev_event,来逐步分析如何向FIB插入路由项,来进一步理解FIB。每一…

python调用库函数用ecb模式加密图片_AES中ECB模式的加密与解密(Python3.7)

本文主要解决的问题本文主要是讲解AES加密算法中的ECB模式的加密解密的Python3.7实现。具体AES加密算法的原理这里不做过多介绍,想了解的可以参考文末的参考链接。主要解决了两个问题:在Python3.7版本下,所依赖包的安装问题。(有一些博客时间…

linux跨版本升级,深度Deepin系统支持跨版本升级

很多以前安装有深度Deepin系统的用户提问,我使用的是Deepin 15.4或者是15.5、15.6版本能不能升级到Deepin 15.8,答案是能。深度Deepin系统是支持跨版本升级的,而不限于从Deepin 15.7升级到Deepin 15.8。在控制中心的更新选项中如果有新系统版…

正态分布概率表_三、统计概率思维

一、误差思维(只要有估计,就会有误差)1.误差永远存在,并且不可避免。2.多次测量用平均值的统计方式取得结果,尽量避免偶然因素的影响。二、置信区间(误差范围)1.统计学最核心思想:用…

linux qt sql,linux qt联接sqlserver怎么配置服务器

也可以通过如下代码测试qt5是否支持SqlServer#include #include #include #include int main(int argc, char* argv[]){QApplication app(argc, argv);qDebug() << "Available drivers:";QStringList drivers QSqlDatabase::drivers();foreach(QString driver…

高等数学同济第七版上册电子版_高等数学同济第七版(上册)第一章答案

第一章答案(猴博土高数不挂科视频可以联系公众号获取关于本书&#xff1a;《高等数学(第七版)》是同济大学数学系在第六版的基础上修订的。第七版修订遵循“坚持改革、不断锤炼、打造精品”的要求&#xff0c;对第六版中个别概念的定义&#xff0c;少量定理、公式的证明及定理的…

linux性能记录,Linux性能记录

说到一台Linux服务器的性能&#xff0c;大部分人关注的指标如下&#xff1a;CPU利用率&#xff0c;CPU LOAD&#xff0c;内存利用率&#xff0c;磁盘I/O等待率&#xff0c;网络带宽使用率。Jmeter作为性能测试的强大工具&#xff0c;在其插件JMeterPlugins-Standard和JMeterPlu…

python之路day4_python之路day4

1很多人的努力都是浅尝辄止的2.很多牛逼的人还在努力3.半年会后牛逼的转身冒泡算法&#xff1a;for n in range(1,len(li)):for m in range(len(li) -n) :num1 li[m]num2 li[m1]if num1 > num2:temp li[m]li[m] num2li[m1] tempprint liha 配置思路#!/usr/bin/env pyth…

linux gpu 电脑推荐,System76推出具有RTX GPU更大显示器的Oryx Pro Linux笔记本电脑

美国计算机制造商System76今天推出了更新版的Oryx Pro旗舰Linux笔记本电脑&#xff0c;采用了英特尔和Nvidia的最新技术&#xff0c;以及更大的显示器。Oryx Pro笔记本电脑已经更新了更新的图形和升级组件。继最近更新的System64的“Darter Pro”和“Serval WS”Linux笔记本电脑…

linux 管道 top,linux IPC总结——管道

管道管道是unix ipc的最古老形式&#xff0c;是一种在内存中的特殊文件&#xff0c;只能在具有公共祖先的进程之间使用(即父子进程&#xff0c;兄弟进程)。管道由pipe函数创建#include int pipe(int fd[2])fd[1]写&#xff0c;fd[0]读。单个进程的管道几乎没有任何用处&#xf…

p图软件pⅰc_惊爆软件:王者荣耀P图大神,助力少年国服梦

每天为大家推荐精品软件,实用网站,玩机技巧等。如果出现资源失效或者其他问题可以加官方群聊反馈。喜欢记得点赞关注转发支持下&#xff0c;每天为大家推荐不同的神器&#xff01;01惊爆软件&#xff1a;王者荣耀P图大神&#xff0c;助力少年国服梦【软件名称】王者荣耀P图大神…