14.2 QStackedWidget堆栈窗口控件
一、QStackedWidget堆栈窗口控件
1.基本概念
#1.创建列表(横着的)
#2.创建窗口
#3.创建堆栈窗口,并把2中的窗口添加进去(竖着的)
#4.创建控件,并添加到对应的窗口中
#5.布局列表和堆栈窗口
#6.点击切换页面
2.代码
点击查看代码
from PyQt5.Qt import *
import sys
class Window(QWidget) :
def __init__(self) :
super().__init__()
self.setWindowTitle("高级控件-QStackedWidget堆栈窗口控件 - PyQt5中文网")
self.resize(600, 500)
self.func_list()
def func_list(self) :
self.func()
def func(self) :
# 1.创建列表
self.lists = QListWidget()
self.lists.insertItem(0, '登陆界面')
self.lists.insertItem(1, '注册界面')
self.lists.insertItem(2, '找回密码')
# 2.创建三个窗口
self.win1 = QWidget()
self.win2 = QWidget()
self.win3 = QWidget()
# 3.创建堆栈窗口
self.stack = QStackedWidget()
self.stack.addWidget(self.win1)
self.stack.addWidget(self.win2)
self.stack.addWidget(self.win3)
# 4.创建3个窗口内的控件
layout = QFormLayout()
layout.addRow('账号:', QLineEdit())
layout.addRow('密码:', QLineEdit())
layout.addRow(QPushButton('点击登陆'))
self.win1.setLayout(layout)
layout1 = QFormLayout()
layout1.addRow('账号:', QLineEdit())
layout1.addRow('密码:', QLineEdit())
layout1.addRow('验证码:', QLineEdit())
layout1.addRow(QPushButton('点击注册'))
self.win2.setLayout(layout1)
btn = QPushButton('按钮')
layout2 = QFormLayout()
layout2.addWidget(btn)
self.win3.setLayout(layout2)
# 5.布局界面
box = QHBoxLayout()
box.addWidget(self.lists)
box.addWidget(self.stack)
self.setLayout(box)
# 6.增加点击切换界面
self.lists.currentRowChanged.connect(self.display)
#槽函数
def display(self, index) :
self.stack.setCurrentIndex(index)
if __name__ == '__main__' :
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())
3.效果
分类:
可视化界面 / PYQT5
标签:
python可视化
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具