• PyQt(Python+Qt)学习随笔:containers容器类部件QStackedWidget堆叠窗口属性


    一、堆叠窗口简介

    StackedWidget堆叠窗口部件为一系列窗口部件的堆叠,对应类为QStackedWidget。QStackedWidget类对应部件为放在堆栈中的多个窗口部件,这些放在堆栈中的窗口部件在界面上只能看到一个窗口。

    如果不好理解的话,老猿觉得用QTabWidget选项窗部件做个对比就好理解了。

    我们知道,QTabWidget选项窗部件是多个页面窗口组成的,每次用户选择其中一个选项卡时即显示对应的选项窗,未选中的选项窗不显示,但用户可以在选项卡栏上看到对应选项窗的选项标签。而QStackedWidget的堆叠窗口,在外观上可以看成一个隐藏了选项卡栏的QTabWidget选项窗部件,当前页面展示出来,其他页面被隐藏。

    由于没有选项卡栏,StackedWidget堆叠窗口部件当前显示的页面只能通过代码进行页面切换,例如通过QComboBox或QListWidget存储对应页面的标题供人选择,然后根据选择结果将对应页面设置为当前页面。

    二、属性

    2.1、概述

    在Designer中StackedWidget堆叠窗口部件非常简单,只有2个,如下:
    在这里插入图片描述
    除了这2个属性外,还有个未在Designer中设置的动态属性count。

    2.2、currentIndex属性

    currentIndex属性保存堆叠窗口部件的当前窗口的索引。如果没有当前窗口,则当前索引为-1。默认情况下,此属性值为-1,因为堆最初为空。在Designer中,部件设计拖拽到页面时,会初始化2个页面,此时currentIndex初始值为0。

    可以通过currentIndex()和setCurrentIndex(int index)方法访问该属性,当当前页切换时,会发射currentChanged(int index)信号,参数为新的当前页索引。

    2.3、currentPageName属性

    StackedWidget堆叠窗口部件的currentPageName属性,在对应类QStackedWidget中并没有该同名属性,实际上该属性是StackedWidget中当前页面窗口对应部件的名字,通过部件的objectName属性访问。
    相关访问示例代码如下:

    		self.page_10 = QtWidgets.QWidget()
            self.page_10.setObjectName("page_10")
            self.stackedWidget.addWidget(self.page_10)
    

    2.4、count属性

    count属性保存了堆叠窗口部件中的窗口数量,可以使用count()访问。

    老猿Python,跟老猿学Python!

  • 相关阅读:
    ASP.NET中Session,Application,Viewstate,Cache,隐藏域和带参数的传接收值的用法
    JS页面跳转搜集
    SQL中常用的日期转化
    DIV+CSS兼容性解决IE6/IE7/FF浏览器的通用方法
    C#中将数据导出为EXCEL方式汇总
    正则表达式大全
    ASP.NET中Cookie用法小节
    div+CSS浏览器兼容问题整理
    站长常用的200个js代码
    [转]主机和终端
  • 原文地址:https://www.cnblogs.com/LaoYuanPython/p/12570438.html
Copyright © 2020-2023  润新知