layout_4.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import sys
  2. from PyQt5.QtWidgets import QMainWindow, QApplication, QWidget, QHBoxLayout, QVBoxLayout, QGridLayout
  3. from layout_colorwidget import Color
  4. class MainWindow(QMainWindow):
  5. def __init__(self):
  6. super().__init__()
  7. self.setWindowTitle("My App")
  8. layout1 = QHBoxLayout()
  9. layout2 = QVBoxLayout()
  10. layout3 = QVBoxLayout()
  11. layout4 = QGridLayout()
  12. layout2.addWidget(Color("red"))
  13. layout2.addWidget(Color("green"))
  14. layout2.addWidget(Color("blue"))
  15. layout1.addLayout(layout2)
  16. layout1.addWidget(Color("green"))
  17. layout3.addWidget(Color("red"))
  18. layout3.addWidget(Color("purple"))
  19. layout1.addLayout(layout3)
  20. layout4.addWidget(Color("red"), 0, 0)
  21. layout4.addWidget(Color("green"), 1, 0)
  22. layout4.addWidget(Color("blue"), 1, 1)
  23. layout4.addWidget(Color("purple"), 2, 1)
  24. layout1.addLayout(layout4)
  25. layout1.setContentsMargins(10, 5, 10, 5)
  26. widget = QWidget()
  27. widget.setLayout(layout1)
  28. self.setCentralWidget(widget)
  29. if __name__ == "__main__":
  30. app = QApplication(sys.argv)
  31. window = MainWindow()
  32. window.show()
  33. sys.exit(app.exec_())