PythonProjects/QT/PyQt/4. 多页面切换实例.py
2024-03-01 14:06:22 +08:00

41 lines
2.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!D:\Python311\python.exe
# -*- coding: utf-8 -*-
# @Time : 2024/2/28 16:09
# @Author : DC_DC
import sys
from PyQt6.QtWidgets import QApplication, QMainWindow, QTabWidget, QVBoxLayout, QPushButton, QWidget, QHBoxLayout
from PyQt6.QtGui import QIcon
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("DC_DC") # 设置窗口标题
self.setWindowIcon(QIcon('Photos/img.png')) # 设置图标
self.setGeometry(100, 100, 800, 600) # 设置窗口大小
self.tab_widget = QTabWidget() # 创建了一个QTabWidget实例用于容纳标签页。
self.setCentralWidget(self.tab_widget) # 设置标签页空间位置
self.page1 = QWidget() # 创建页面1
self.page2 = QWidget() # 创建页面2
self.tab_widget.addTab(self.page1, "页面1") # 添加页面1到QTabWidget
self.tab_widget.addTab(self.page2, "页面2") # 添加页面2到QTabWidget
layout = QVBoxLayout() # 定义一个垂直布局对象,用来组织两个按钮 如果设置水平就实例化QHBoxLayout 一个布局对象只能被设置给一个父对象
button1 = QPushButton("切换到页面1") # 定义一个按钮
button1.clicked.connect(lambda: self.switch_page(1)) # 设置按钮的映射关系
button2 = QPushButton("切换到页面2") # 定义一个按钮
button2.clicked.connect(lambda: self.switch_page(2)) # 设置按钮的映射关系
layout.addWidget(button1) # 添加按钮1到垂直布局对象
layout.addWidget(button2) # 添加按钮2到垂直布局对象
self.page2.setLayout(layout) # 按照布局规则进行摆放页面
self.page1.setLayout(layout) # 按照布局规则进行摆放页面
def switch_page(self, index):
self.tab_widget.setCurrentIndex(index - 1)
if __name__ == "__main__":
app = QApplication([]) # 创建一个应用程序对象
mainWin = MainWindow()
mainWin.show()
sys.exit(app.exec())