python gui实现数据动态展示-python3 桌面右下角图标动态显示数据如何做,做下生手党!...

该博客介绍了如何使用Python创建一个GUI,实现桌面右下角图标来动态显示串口数据。当接收到数据时,图标会闪烁提示。作者遇到的问题是无法自动根据数据接收情况切换图标,而只能手动触发。示例代码中定义了一个`SysTrayIcon`类,并展示了如何使用该类创建菜单和图标。同时,博客提到了动态改变图标和处理串口数据的方法。
摘要由CSDN通过智能技术生成

我想实现动态读取串口数据,当收到数据时,已经在桌面右下角建立的图标闪烁显示有数据开始处理,无数据时显示等待图标,我弄了下,只能手动点击触发,对这个类有点不太明白如何实现收到数据自动切换图标,请论坛高手给指点一下,在此谢过!

代码如下

#encoding:utf-8

import os

import sys

import time

import win32api

import win32con

import win32gui_struct

import threading

try:

import winxpgui as win32gui

except ImportError:

import win32gui

mainfile = os.path.dirname(sys.argv[0])

class SysTrayIcon(object):

QUIT = "QUIT"

SPECIAL_ACTIONS = [QUIT]

FIRST_ID = 1023

def __init__(self,

icon,

hover_text,

menu_options,

on_quit=None,

default_menu_index=None,

window_class_name=None,):

self.icon = icon

self.hover_text = hover_text

self.on_quit = on_quit

menu_options = menu_options + (("退出", None, self.QUIT),)

self._next_action_id = self.FIRST_ID

self.menu_actions_by_id = set()

self.menu_options = self._add_ids_to_menu_options(list(menu_options))

self.menu_actions_by_id = dict(self.menu_actions_by_id)

del self._next_action_id

self.default_menu_index = (default_menu_index or 0)

self.window_class_name = window_class_name or "SysTrayIconPy"

message_map = {win32gui.RegisterWindowMessage("TaskbarCreated"): self.restart,

win32con.WM_DESTROY: self.destroy,

win32con.WM_COMMAND: self.command,

win32con.WM_USER+20 : self.notify,}

# Register the Window class.

window_class = win32gui.WNDCLASS()

hinst = window_class.hInstance = win32gui.GetModuleHandle(None)

window_class.lpszClassName = self.window_class_name

window_class.style = win32con.CS_VREDRAW | win32con.CS_HREDRAW;

window_class.hCursor = win32gui.LoadCurso

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值