| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- # Only needed for access to command line arguments
- import sys
- from PyQt5.QtCore import *
- from PyQt5.QtGui import QPixmap, 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") # 标题
- # layout = QVBoxLayout()
- # widgets = [QCheckBox,
- # QComboBox,
- # QDateEdit,
- # QDateTimeEdit,
- # QDial,
- # QDoubleSpinBox,
- # QFontComboBox,
- # QLCDNumber,
- # QLabel,
- # QLineEdit,
- # QProgressBar,
- # QPushButton,
- # QRadioButton,
- # QSlider,
- # QSpinBox,
- # QTimeEdit]
- # for w in widgets:
- # layout.addWidget(w())
- layout1 = QHBoxLayout()
- layout2 = QVBoxLayout()
- layout3 = QVBoxLayout()
- layout1.setContentsMargins(0, 0, 0, 0)
- layout1.setSpacing(20)
- layout2.addWidget(Color('red'))
- layout2.addWidget(Color('yellow'))
- layout2.addWidget(Color('purple'))
- layout1.addLayout(layout2)
- layout1.addWidget(Color('green'))
- layout3.addWidget(Color('red'))
- layout3.addWidget(Color('blue'))
- layout1.addLayout(layout3)
- widget = QWidget()
- widget.setLayout(layout1)
- self.setCentralWidget(widget)
- 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_()
|