照着视频打:
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
import sys
class Color(QWidget): #定义一个类,产生一个色块
def __init__(self, color, *args, **kwargs):
super(Color,self).__init__(*args,**kwargs)
self.setAutoFillBackground(True)
palette = self.palette() #调色板
palette.setColor(QPalette.Window,QColor(color))
self.setPalette(palette)
class MainWindow(QMainWindow):
def __init__(self,*args,**kwargs):
super(MainWindow,self).__init__(*args,**kwargs)
self.setWindowTitle("Layout")
pagelayout = QVBoxLayout()
button_laypout = QHBoxLayout()
layout = QStackedLayout()
pagelayout.addLayout(button_laypout)
pagelayout.addLayout(layout)
for n,color in enumerate(["red",'green','blue','yellow']):
btn = QPushButton(str(color))
btn.pressed.connect(lambda n=n : layout.setCurrentIndex(n) )
button_laypout.addWidget(btn)
layout.addWidget(Color(color))
widget = QWidget()
widget.setLayout(pagelayout)
self.setCentralWidget(widget)
app = QApplication(sys.argv)
window=MainWindow()
window.show()
app.exec_()
效果: