python怎样实现界面的切换_pyqt如何在同一个界面下实现两个窗口的切换

用QTabWidget

# -*- coding: utf-8 -*-

from PyQt4.QtGui import *

from PyQt4.QtCore import QString

class ContentWidget(QDialog):

def __init__(self, parent=None):

super(ContentWidget, self).__init__(parent)

self.setStyleSheet("background: black")

class IndexWidget(QDialog):

def __init__(self, parent=None):

super(IndexWidget, self).__init__(parent)

self.setStyleSheet("background: red")

class TabWidget(QTabWidget):

def __init__(self, parent=None):

super(TabWidget, self).__init__(parent)

self.resize(400, 300)

self.mContent = ContentWidget()

self.mIndex = IndexWidget()

self.addTab(self.mContent, u"内容")

self.addTab(self.mIndex, u"索引")

if __name__ == '__main__':

import sys

app = QApplication(sys.argv)

t = TabWidget()

t.show()

app.exec_()

bVvLgp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,对于基于PythonPyQt5实现同一窗口下多界面切换,可以使用QStackedWidget控件实现。下面是一个简单的例子: ```python import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QStackedWidget, QVBoxLayout class MainWindow(QWidget): def __init__(self): super().__init__() self.setWindowTitle('多界面切换') self.setGeometry(200, 200, 300, 200) # 创建按钮 self.button1 = QPushButton('界面1', self) self.button2 = QPushButton('界面2', self) # 创建堆栈窗口 self.stackedWidget = QStackedWidget(self) # 创建两个界面 self.page1 = QWidget() self.page2 = QWidget() # 在第一个子界面中添加一个按钮 layout1 = QVBoxLayout() layout1.addWidget(QPushButton('测试按钮1')) self.page1.setLayout(layout1) # 在第二个子界面中添加一个按钮 layout2 = QVBoxLayout() layout2.addWidget(QPushButton('测试按钮2')) self.page2.setLayout(layout2) # 将两个界面添加到堆栈窗口中 self.stackedWidget.addWidget(self.page1) self.stackedWidget.addWidget(self.page2) # 将按钮添加到窗口中 layout = QVBoxLayout() layout.addWidget(self.button1) layout.addWidget(self.button2) layout.addWidget(self.stackedWidget) self.setLayout(layout) # 绑定按钮的点击事件 self.button1.clicked.connect(lambda: self.stackedWidget.setCurrentIndex(0)) self.button2.clicked.connect(lambda: self.stackedWidget.setCurrentIndex(1)) if __name__ == '__main__': app = QApplication(sys.argv) mainWindow = MainWindow() mainWindow.show() sys.exit(app.exec_()) ``` 运行上述Python代码后,将出现一个窗口,其中有两个按钮和一个空的堆栈窗口。点击第一个按钮,将切换到第一个子界面,其中包含一个测试按钮1;点击第二个按钮,将切换到第二个子界面,其中包含一个测试按钮2。通过这个例子可以看出,在同一窗口实现界面切换非常方便和直观,而且使用QStackedWidget控件也使代码变得简洁。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值