| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- # Only needed for access to command line arguments
- import sys
- from PyQt5.QtGui import QPalette, QColor
- from PyQt5.QtWidgets import *
- # 自定义窗口,继承 QMainWindow
- class MainWindow(QMainWindow):
- def __init__(self, *args, **kwargs):
- super(MainWindow, self).__init__(*args, **kwargs)
- self.setWindowTitle("My Awesome App") # 标题
- # pagelayout = QVBoxLayout()
- # button_layout = QHBoxLayout()
- # layout = QStackedLayout()
- #
- # pagelayout.addLayout(button_layout)
- # pagelayout.addLayout(layout)
- #
- # for n, color in enumerate(['red', 'green', 'blue', 'yellow', 'purple']):
- # btn = QPushButton(str(color))
- # btn.pressed.connect(lambda n=n: layout.setCurrentIndex(n))
- # button_layout.addWidget(btn)
- # layout.addWidget(Color(color))
- tabs = QTabWidget()
- tabs.setDocumentMode(False)
- tabs.setTabPosition(QTabWidget.North)
- tabs.setMovable(True)
- for n, color in enumerate(['red', 'green', 'blue', 'yellow', 'purple']):
- tabs.addTab(Color(color), color)
- self.setCentralWidget(tabs)
- def index_changed(self, s):
- print(s)
- 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)
- if __name__ == '__main__':
- app = QApplication(sys.argv)
- window = MainWindow()
- window.show() # 默认下 windows 是隐藏的
- # 开启事件循环
- app.exec_()
|