toolbars_and_menus.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. # Only needed for access to command line arguments
  2. import sys
  3. from PyQt5.QtCore import *
  4. from PyQt5.QtWidgets import *
  5. from PyQt5.QtGui 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. label = QLabel("THIS IS AWESOME!!!")
  12. label.setAlignment(Qt.AlignCenter)
  13. self.setCentralWidget(label)
  14. toolbar = QToolBar("My main toolbar")
  15. toolbar.setIconSize(QSize(16, 16))
  16. self.addToolBar(toolbar)
  17. button_action = QAction(QIcon("icons/bug.png"), "Your button", self)
  18. button_action.setStatusTip("This is your button")
  19. button_action.triggered.connect(self.onMyToolBarButtonClick)
  20. button_action.setCheckable(True)
  21. toolbar.addAction(button_action)
  22. toolbar.addSeparator()
  23. button_action2 = QAction(QIcon("icons/bug.png"), "Your button2", self)
  24. button_action2.setStatusTip("This your button2")
  25. button_action2.triggered.connect(self.onMyToolBarButtonClick)
  26. button_action2.setCheckable(True)
  27. toolbar.addAction(button_action2)
  28. toolbar.addSeparator()
  29. toolbar.addWidget(QLabel("Hello"))
  30. toolbar.addWidget(QCheckBox())
  31. # 状态栏
  32. self.setStatusBar(QStatusBar(self))
  33. def onMyToolBarButtonClick(self, s):
  34. print("click", s)
  35. if __name__ == '__main__':
  36. app = QApplication(sys.argv)
  37. window = MainWindow()
  38. window.show() # 默认下 windows 是隐藏的
  39. # 开启事件循环
  40. app.exec_()