PyQt之 QTimer + QMenuBar

QTimer

QTimer类提供了重复和单次触发信号的定时器

我们可以利用QTimer来做一个实时时间显示

  1. 我们首先定义一个label显示时间信息,并将其添加到你的布局中

    1
    2
    3
    4
    5
    6
    7
    #时间显示
    self.time_label=QLabel(self)
    self.time_label.setText('now')
    self.XXX_layout.addWidget(self.time_label, x, x, x, x)
    self.timer = QTimer(self)
    self.timer.timeout.connect(self.showtime) # 这个通过调用槽函数来刷新时间
    self.timer.start()
  2. 编写QTimer绑定的showtime函数

    1
    2
    3
    4
    def showtime(self):
    datetime = QDateTime.currentDateTime()
    text = datetime.toString()
    self.time_label.setText(text)

QMenuBar

在QT的使用中,我们通常需要设计一个菜单

我们以设计帮助菜单为例,来学习QMenuBar的使用

  1. 定义菜单

    1
    2
    3
    self.menubar = QtWidgets.QMenuBar(self)
    self.menubar.setGeometry(QtCore.QRect(0, 0, 950, 25))
    self.menubar.setObjectName("menubar")
  2. 添加菜单内容和行为

    • 通过QAction设置行为
    • 通过.setShortcut设置快捷键
    • 通过.triggered.connect连接函数
    1
    2
    3
    4
    5
    help_act = QAction('&查看帮助', self)
    help_act.setShortcut('Ctrl+H')
    help_act.triggered.connect(self.help)
    help_menu = self.menubar.addMenu('&Help')
    help_menu.addAction(help_act)
不要打赏,只求关注呀QAQ