widgets.py 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. # Only needed for access to command line arguments
  2. import sys
  3. from PyQt5.QtCore import *
  4. from PyQt5.QtGui import QPixmap, QPalette, QColor
  5. from PyQt5.QtWidgets import *
  6. # 自定义窗口,继承 QMainWindow
  7. class MainWindow(QMainWindow):
  8. def __init__(self, *args, **kwargs):
  9. super(MainWindow, self).__init__(*args, **kwargs)
  10. self.setWindowTitle("My Awesome App") # 标题
  11. # layout = QVBoxLayout()
  12. # widgets = [QCheckBox,
  13. # QComboBox,
  14. # QDateEdit,
  15. # QDateTimeEdit,
  16. # QDial,
  17. # QDoubleSpinBox,
  18. # QFontComboBox,
  19. # QLCDNumber,
  20. # QLabel,
  21. # QLineEdit,
  22. # QProgressBar,
  23. # QPushButton,
  24. # QRadioButton,
  25. # QSlider,
  26. # QSpinBox,
  27. # QTimeEdit]
  28. # for w in widgets:
  29. # layout.addWidget(w())
  30. layout1 = QHBoxLayout()
  31. layout2 = QVBoxLayout()
  32. layout3 = QVBoxLayout()
  33. layout1.setContentsMargins(0, 0, 0, 0)
  34. layout1.setSpacing(20)
  35. layout2.addWidget(Color('red'))
  36. layout2.addWidget(Color('yellow'))
  37. layout2.addWidget(Color('purple'))
  38. layout1.addLayout(layout2)
  39. layout1.addWidget(Color('green'))
  40. layout3.addWidget(Color('red'))
  41. layout3.addWidget(Color('blue'))
  42. layout1.addLayout(layout3)
  43. widget = QWidget()
  44. widget.setLayout(layout1)
  45. self.setCentralWidget(widget)
  46. def index_changed(self, s):
  47. print(s)
  48. class Color(QWidget):
  49. def __init__(self, color, *args, **kwargs):
  50. super(Color, self).__init__(*args, **kwargs)
  51. self.setAutoFillBackground(True)
  52. palette = self.palette()
  53. palette.setColor(QPalette.Window, QColor(color))
  54. self.setPalette(palette)
  55. if __name__ == '__main__':
  56. app = QApplication(sys.argv)
  57. window = MainWindow()
  58. window.show() # 默认下 windows 是隐藏的
  59. # 开启事件循环
  60. app.exec_()