QStackedWidget 与 QStackedLayout 的用法区别

import sys
from PyQt5 import QtWidgets, QtCore class MyWidget(QtWidgets.QWidget):
def __init__(self, i=0):
super().__init__()
self.setWindowTitle('窗口 ' + str(i))
label = QtWidgets.QLabel('标签 ' + str(i))
layout = QtWidgets.QHBoxLayout(self)
layout.addWidget(label) class TestWidget(QtWidgets.QWidget):
def __init__(self, parent=None):
super().__init__(parent) layout = QtWidgets.QHBoxLayout(self) #stack = QtWidgets.QStackedWidget() # ① Widget
stack = QtWidgets.QStackedLayout() # ② Layout list = QtWidgets.QListWidget(self)
list.setDragEnabled(True)
list.setDragDropMode(QtWidgets.QAbstractItemView.InternalMove) layout.addWidget(list)
#layout.addWidget(stack) # ① 对应 addWidget
layout.addLayout(stack) # ② 对应 addLayout for i in range(10):
stack.addWidget(MyWidget(i))
list.addItem("窗口 %04i" % i) list.currentRowChanged.connect(stack.setCurrentIndex) if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
widget = TestWidget()
#widget = MyWidget()
widget.show()
sys.exit(app.exec_())
# ... ...
self.contentsWidget.currentItemChanged.connect(self.changePage)
#self.contentsWidget.currentRowChanged.connect(self.pagesWidget.setCurrentIndex)
def changePage(self, current, previous):
if not current:
current = previous
self.pagesWidget.setCurrentIndex(self.contentsWidget.row(current))
QStackedWidget 与 QStackedLayout 的用法区别的更多相关文章
- order_by_、group_by_、having的用法区别
写于 2012-11-20 22:14 doc文档上. Having 这个是用在聚合函数的用法.当我们在用聚合函数的时候,一般都要用到GROUP BY 先进行分组,然后再进行聚合函数的运算.运算完后 ...
- html中的alt和title用法区别
html中的alt和title用法区别 首先明确一下概念,alt是html标签的属性,而title既是html标签,又是html属性.title标签这个不用多说,网页的标题就是写在<title& ...
- 转 SQL Union和SQL Union All两者用法区别效率以及与order by 和 group by配合问题
SQL Union和SQL Union All两者用法区别效率以及与order by 和 group by配合问题 SQL Union和SQL Union All用法 SQL UNION 操作符 UN ...
- OC .(点)与->(箭头)用法区别
这两天同学总是问OC里.和->的用法区别,当时回答的不是很好,周末查了一下,大概清楚了,在这里记录一笔. 先看这个例程 #import <Foundation/Foundation.h&g ...
- php中strstr、strrchr、substr、stristr四个函数用法区别
php中strstr.strrchr.substr.stristr四个函数用法区别: php中strstr strrchr substr stristr这四个字符串操作函数特别让人容易混淆,常用的是s ...
- mysql SELECT FOUND_ROWS()与COUNT(*)用法区别
在mysql中 FOUND_ROWS()与COUNT(*)都可以统计记录,如果都一样为什么会有两个这样的函数呢,下面我来介绍SELECT FOUND_ROWS()与COUNT(*)用法区别 SEL ...
- php中print_r、var_dump和var_export几个函数的用法区别
php中print_r.var_dump和var_export几个函数的用法区别
- Oracle中 (+)与left join 的用法区别
Oracle中 (+)与left join 的用法区别 原创 2017年01月11日 13:33:42 6648 select * from a,b where a.id=b.id(+); (+)写在 ...
- String split方法与Guava Splitter用法区别
String split方法与Guava Splitter用法区别 今天同事写了一段使用String split方法的代码,如下所示,同事期望得到的是字符"1",但是没想到却得到空 ...
随机推荐
- Server Host Cannot be null解决方法
在用打开Services Directory application 或者访问 某个已发布的地图服务时,出现"Server Host Cannot be null"的错误. 问题的 ...
- python一键对应多个值
背景:目前是想让一个取出来的数据,数据有2个或多个值,对应一个key,或者这样说:让一个键对应2个值或者3个值 实现方式,如下:目前我以读取xml文件为案例,读取xml中两个配置文件,存放到一个key ...
- docker-7-常用软件的安装
1.总体步骤 搜索镜像 拉取镜像 查看镜像 启动镜像 停止容器 移除容器 2.安装tomcat docker hub上面查找tomcat镜像:docker search tomcat 从doc ...
- WEB安全 php+mysql5注入防御(一)
注入利用函数: concat()函数将多个字符串连接成一个字符串 database() 当前数据库,用途:获取数据 version() 数据库版本,用途:利用版本特性,如5.0版本下的informat ...
- java读写本地xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <confi ...
- angularjs ng-if ng-show ng-hide区别
在使用anularjs开发前端页面时,常常使用ng-show.ng-hide.ng-if功能来控制页面元素的显示或隐藏,那他们之间有什么不同呢? 实现原理方面:ng-show/ng-hide是通过修改 ...
- windows安装PHP IIS MYSQL
https://www.cnblogs.com/huodong/p/4310425.html
- 设置af对 Cookies 的管理
manager.requestSerializer.HTTPShouldHandleCookies = NO;
- App测试需要测什么
App,做为当下最热的手机安装软件,无论是产品本身的设计还是性能,易用性等都是非常受考验.一个app能在用户的手机上使用,并作为一个长期用户是非常不容易的.那么,App的测试中我们到底要测试什么呢? ...
- Android 面试题之编程
1.排序 package cn.java.suanfa; public class SuanFa { public static void main(String[] args) { int[] ar ...