__main__.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:Pext 作者: Pext 项目源码 文件源码
def show_next_message(self) -> None:
        """Show next statusbar message.

        If the status bar has not been updated for 1 second, display the next
        message. If no messages are available, clear the status bar after it
        has been displayed for 5 seconds.
        """
        current_time = time.time()
        time_diff = 5 if len(self.queued_messages) < 1 else 1
        if self.last_update and current_time - time_diff < self.last_update:
            return

        if len(self.queued_messages) == 0:
            QQmlProperty.write(self.status_text, "text", "")
            self.last_update = None
        else:
            message = self.queued_messages.pop(0)

            if message['type'] == 'error':
                statusbar_message = "<font color='red'>? {}</color>".format(
                    message['message'])
                notification_message = '? {}'.format(message['message'])
            else:
                statusbar_message = message['message']
                notification_message = message['message']

            QQmlProperty.write(self.status_text, "text", statusbar_message)

            if self.window.window.windowState() == Qt.WindowMinimized or not self.window.window.isVisible():
                try:
                    Popen(['notify-send', 'Pext', notification_message])
                except Exception as e:
                    print("Could not open notify-send: {}. Notification follows after exception:".format(e))
                    traceback.print_exc()
                    print(notification_message)

            self.last_update = current_time
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号