41 lines
2.0 KiB
Python
41 lines
2.0 KiB
Python
#!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())
|