首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用Pyqt5显示重叠的QWidgets?

要使用PyQt5显示重叠的QWidgets,可以使用QStackedWidget或QTabWidget来实现。

QStackedWidget是一个容器类,可以在同一位置显示多个QWidgets,但只有一个QWidget是可见的。可以通过addWdget()方法添加QWidget,并使用setCurrentIndex()方法来设置当前可见的QWidget。QStackedWidget适用于需要在不同的页面间切换显示的情况。

示例代码如下:

代码语言:txt
复制
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel, QPushButton, QStackedWidget
import sys

class Page1(QWidget):
    def __init__(self):
        super().__init__()
        layout = QVBoxLayout()
        label = QLabel("Page 1")
        layout.addWidget(label)
        self.setLayout(layout)

class Page2(QWidget):
    def __init__(self):
        super().__init__()
        layout = QVBoxLayout()
        label = QLabel("Page 2")
        layout.addWidget(label)
        self.setLayout(layout)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    stackedWidget = QStackedWidget()
    page1 = Page1()
    page2 = Page2()
    stackedWidget.addWidget(page1)
    stackedWidget.addWidget(page2)
    stackedWidget.setCurrentIndex(0)
    stackedWidget.show()
    sys.exit(app.exec_())

QTabWidget也是一个容器类,可以在同一位置显示多个QWidgets,并使用选项卡切换不同的QWidget。可以使用addTab()方法添加QWidget,并使用setCurrentIndex()方法或setCurrentWidget()方法来设置当前选中的QWidget。QTabWidget适用于需要使用选项卡切换不同页面的情况。

示例代码如下:

代码语言:txt
复制
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel, QPushButton, QTabWidget
import sys

class Page1(QWidget):
    def __init__(self):
        super().__init__()
        layout = QVBoxLayout()
        label = QLabel("Page 1")
        layout.addWidget(label)
        self.setLayout(layout)

class Page2(QWidget):
    def __init__(self):
        super().__init__()
        layout = QVBoxLayout()
        label = QLabel("Page 2")
        layout.addWidget(label)
        self.setLayout(layout)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    tabWidget = QTabWidget()
    page1 = Page1()
    page2 = Page2()
    tabWidget.addTab(page1, "Page 1")
    tabWidget.addTab(page2, "Page 2")
    tabWidget.setCurrentIndex(0)
    tabWidget.show()
    sys.exit(app.exec_())

以上是使用PyQt5显示重叠的QWidgets的方法,可以根据实际需求选择使用QStackedWidget或QTabWidget来实现。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【CSS】margin 外边距负值使用案例 ( 正常外边距 | 使用外边距负值实现边框重叠 | 重叠边框突出显示 )

一、正常外边距案例 margine 正常情况下使用 , 设置 float 浮动 , 使得相邻盒子模型紧贴在一起 ; 如果设置边框 , 则相邻边框会重叠在一起 , 导致边框变粗 ; 代码示例 : <!...: 邻近元素外边框重叠在一起变粗效果 : 二、使用外边距负值实现边框重叠 ---- 使用外边距负值实现边框重叠 , 设置左侧 -1 像素外边距 , 由于 浮动元素 都是紧贴在一起 , 设置...: 三、重叠边框突出显示案例 ---- 1、使用相对定位 三种布局机制中 , 标准流在最底层 , 浮动盒子在中间层 , 定位盒子在最上层 ; 这里使用 定位 中相对定位 , 相对定位仍然会占用原来位置..., 元素还在原来位置不动 ; 如果使用了绝对定位 , 原来位置就会消失 , 元素默认显示在定位父容器左上角 ; 代码示例 : <!...: 鼠标移动到盒子上方 , 突出显示效果 : 2、使用 z-index 设置定位盒子层级 父元素相对定位 , 内部子元素可以使用绝对定位任意摆放位置 , 大部分盒子都有该要求 ; 如果将所有的盒子都设置相对定位

1.2K20
  • PyQt5 界面显示无响应实现

    界面假死分析 在编写QT界面程序时,当我们调用QApplication.exec()时,我们就启动了QT事件循环。在开始时候,QT会发出一些事件来显示和绘制窗口部件。...这里就不谈用途与使用方法了,大概讲一下,遇到界面假死处理方法之一。...通过代码可以看到,不到50行代码就实现了方法一中功能了。pyqt5有很多自己方法,包括多线程等等。这里提供是一种思路。当然还有很多种方式实现,大家可以去探索一下,好方法可以一起分享讨论。...当使用异步协程时候,pyqt5推荐使用quamash import sys import asyncio import time from PyQt5.QtWidgets import QApplication...到此这篇关于PyQt5 界面显示无响应实现文章就介绍到这了,更多相关PyQt5 界面显示无响应内容请搜索ZaLou.Cn以前文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!

    3.7K10

    pyqt5 QlistView列表显示实现示例

    1、简介 QlistView类用于展示数据,它子类是QListWIdget。...QListView是基于模型(Model),需要程序来建立模型,然后再保存数据 QListWidget是一个升级版本QListView,它已经建立了一个数据储存模型(QListWidgetItem...),直接调用addItem()函数,就可以添加条目(Item) QListView类中常用方法如表 方法 描述 setModel() 用来设置View所关联Model,可以使用Python原生list...作为数据源Model selectedItem() 选中Model条目 isSelected() 判断Model中某条目是否被选中 QListView常用信号 信号 含义 clicked 当单击某项时...2、功能实现 # -*- coding: utf-8 -*- ''' 【简介】 PyQt5中 QListView 例子 ''' from PyQt5.QtWidgets import

    4.1K30

    『开发技巧』PyQt5入门教程

    PyQt5相关 PyQt5是一套来自DigiaQt5应用框架和Python粘合剂。支持Python2.x和Python3.x版本。本教程使用Pyhton 3。Qt库是最强大GUI支持库一种。...1 w = QWidget() Qwidget组件是PyQt5中所有用户界面类基础类。我们给QWidget提供了默认构造方法。默认构造方法没有父类。没有父类widget组件将被作为窗口使用。...Figure: Simple 一个简单应用图标 应用图标是一个常常显示在标题栏左上方角落小图片。在下面的例子里,我们将展示我们如何PyQt5显示应用图标。我们也将介绍一些新方法使用。...Figure: Message box 屏幕上居中窗口 下面的脚本展示我们如何把窗口居中显示到桌面窗口。...1 self.move(qr.topLeft()) 我们移动了应用窗口左上方点到qr矩形左上方点,因此居中显示在我们屏幕上。 这是PyQt5教程一部分,这部分涵盖了一些基础知识。

    4.3K30

    『Python动手学』PyQt5入门教程

    这是PyQt5教程一部分,这部分涵盖了一些基础知识。 PyQt5相关 PyQt5是一套来自DigiaQt5应用框架和Python粘合剂。支持Python2.x和Python3.x版本。...本教程使用Pyhton 3。Qt库是最强大GUI支持库一种。PyQt5官方主页是www.riverbankcomputing.co.uk/news。...w = QWidget() Qwidget组件是PyQt5中所有用户界面类基础类。我们给QWidget提供了默认构造方法。默认构造方法没有父类。没有父类widget组件将被作为窗口使用。...一个简单应用图标 应用图标是一个常常显示在标题栏左上方角落小图片。在下面的例子里,我们将展示我们如何PyQt5显示应用图标。我们也将介绍一些新方法使用。 #!...屏幕上居中窗口 下面的脚本展示我们如何把窗口居中显示到桌面窗口。 #!

    2.9K20

    pyqt5中动画使用详解

    一、pyqt5中动画继承关系图 ?...主要用于实现某个属性值从x到y动画变化 1、定义动画主要步骤 创建一个动画,并设置目标、属性 设置属性值开始、插值、结束 动画时长 启动动画 2、构造函数使用方式 1.QPropertyAnimation...QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_()) 四、QAnimationGroup动画组使用...可以将一组动画, 同时播放或者按顺序播放 1、使用步骤 根据上面的方式创建单独动画(但不启动) 定义一个动画组 将之前动画添加到动画组中 启动动画组 2、动画运行几种状态 并行动画QParallelAnimationGroup...中动画使用详解文章就介绍到这了,更多相关pyqt5 动画内容请搜索ZaLou.Cn以前文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!

    1.2K20

    PyQt5 简单记录QProcess使用

    目录简介用法启动子线程停止子线程确保只有一个子线程运行 提示QT_DEVICE_PIXEL_RATIO is deprecated输入/读取线程返回数据----不做详细介绍,只是简单记录,满足一般使用需求...如果直接在代码里通过subprocess或者其他阻塞类库运行第三方程序,会造成UI界面卡死;如果自己手写threading,也比较麻烦,还涉及到signal/slot编写;QProcess就是官方提供一个线程工具...,并且不会造成UI卡顿,还提供一些线程控制函数;如果不是很复杂情况下,用QProcess还是挺好。...exe_path: exe所在相对路径或绝对路径 gui_name: 显示名称,可空 ''' # 确保当前小程序存在 if not...QT_SCALE_FACTOR"] = "1" suppress_qt_warnings()输入/读取线程返回数据目前暂未测试,可参考官网或以下教程:Run external programs in PyQt5

    1.4K10

    PyQt5事件处理之定时在控件上显示信息代码

    ,至于为何要调用两次刷新页面的函数,是因为每调用一次QApplication.processEvents()就会刷新页面,将之前在窗口显示数据代码效果全部显示到窗口中,而在循环之前有一个输出到文本框文字需要首先显示...而第二次调用这个函数则是将循环中每隔2秒执行那几行代码产生效果显示出来,其中输出文本框采用append()是为了不覆盖之前文字。...,以此纪念我这段艰难入坑基金岁月,呜呜呜,跌穿谷底噜):因为不是动图,实际显示效果是:点击【开始】按钮后,首先文本框显示第一行文字,然后隔2秒后显示第二三行文字,同时在表格中显示第一行信息,再隔2...虽然PyQt5中有自己定时器QTimer,但是我暂时没有想到如何用它来实现上述效果,因此就没有使用该方法,如有更好方法欢迎大神指点!...总结 到此这篇关于PyQt5事件处理之定时在控件上显示信息代码文章就介绍到这了,更多相关PyQt5事件处理内容请搜索ZaLou.Cn以前文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn

    2K10

    PyQt5编程扩展 3.2 资源文件使用

    创建和使用资源文件新建资源文件Qt Creator中新建资源文件,命名为res.qrc在项目文件目录树中,会自动出现Resources文件组和res.qrc文件编辑资源文件在文件res.qrc上点击右键...,选择Open In Editor新建前缀前缀意思就是资源分组点Add Prefix显示如下将前缀改名为icons新建放资源文件目录原QtApp目录文件如下在这个目录下新建images文件夹将所有图标文件放到...images文件夹里面添加图标文件点Add Files添加如下几个图标文件点击上方×,关闭资源编辑器引用图标文件如果要在代码里面使用app.ico图标文件,其引用名称是:/icons/images/app.ico...使用图标文件回到窗体编辑器,点击“设置姓名”按钮在对应属性框中找到icon属性点击icon右侧输入框,点击右侧下拉箭头,然后点选择资源选择322.bmp当图标设好后,按钮就有图标了同样,为关闭按钮选择...132.bmp作为图标资源文件编译窗体UI文件用到了资源文件后,只能在Qt目录下进行编译编译前编译窗体文件拷贝编译后窗体文件和资源文件将编译后两个py文件拷贝到e:\baikejia\bkj3-2

    20500

    PyQt5 如何让界面和逻辑分离方法

    不过由于要响应事件操作,往往会将相应槽函数写在uipy文件中,这样,界面和逻辑开发就混合在一起了,每一次ui更新都会伴随着转换后py文件槽函数添加修改,及其不方便,造成效率低下。...本例就来介绍如何将二者剥离。...剥离ui和逻辑 在项目中新建文件mainwindow.py,创建类MainWindow类 from PyQt5 import QtCore, QtGui, QtWidgets from ui_mainwindow...main函数中调用 在项目中新建主函数main.py,在其上实例化类MainWindow,并调用show方法显示 from PyQt5 import QtCore, QtGui, QtWidgets...如何让界面和逻辑分离方法文章就介绍到这了,更多相关PyQt5 界面和逻辑分离内容请搜索ZaLou.Cn

    2.6K10

    Echo 评论是如何显示

    就是评论;如果是针对评论,那么这条 comment 就是回复) entity_id:实体 id(如果是对帖子评论,就存储帖子 id;如果是对评论回复,就存储评论 id;还有对回复回复,存储仍然是所属评论...content:评论/回复内容 status:评论/回复状态 0 - 正常(默认) 1 - 禁用(这个状态截止目前还没有使用,各位可以自行扩展哈) create_time:评论/回复发布时间 Dao...另外,这里 Service 层也比较简单,就是调用了一下 Dao,我就不再多费口舌了。 表现层 评论与回复是在哪里显示呢?帖子详情页里面,对吧。 一篇帖子详情页需要哪些东西呢?我们来看看 ?...、以及发布该评论作者信息、点赞数量、回复数量、回复相关信息、当前登录用户对该评论点赞状态等 回复相关信息被封装在评论相关信息里面,既然回复和评论我们都放在一张表里面了,那自然不用多说,它和显示评论所需要信息是一样...封装评论分页信息,这里就显示出我们分页模型强大了,一套代码随处用,不了解各位强烈推荐回看上篇文章 Echo 帖子列表与分页是怎么做 ?

    1K11
    领券