好吧,与其继续在wxPython和这个Phoenix胡说八道的项目上混日子,我改成只使用PyGTK,我不得不说,总的来说,我更喜欢这个。我的代码现在正按照我希望的方式运行,如下所示:#!/usr/bin/python

import gobject

import gtk

import os

import thread

import time

last_changed_time = 0

mode = "nice"

def set_mode (new_mode):

global mode

mode = new_mode

change_wall()

def make_menu(event_button, event_time, data=None):

menu = gtk.Menu()

nice_item = gtk.CheckMenuItem("Nice")

naughty_item = gtk.CheckMenuItem("Naughty")

kill_item = gtk.MenuItem("Quit")

if mode == "nice":

nice_item.set_active(True)

if mode == "naughty":

naughty_item.set_active(True)

menu.append(nice_item)

menu.append(naughty_item)

menu.append(kill_item)

nice_item.connect_object("activate", set_mode, ("nice"))

naughty_item.connect_object("activate", set_mode, ("naughty"))

kill_item.connect_object("activate", gtk.main_quit, ())

nice_item.show()

naughty_item.show()

kill_item.show()

menu.popup(None, None, None, event_button, event_time)

def change_wall():

global last_changed_time

os.system("./change_wall " + mode)

last_changed_time = time.time()

def on_right_click(data, event_button, event_time):

make_menu(event_button, event_time)

def on_left_click(event):

change_wall()

def auto_update():

while 1:

time.sleep(1)

if time.time() > last_changed_time + 600:

change_wall()

if __name__ == '__main__':

gobject.threads_init()

os.chdir("/home/caleb/walls")

icon = gtk.status_icon_new_from_file("walls.xpm")

icon.connect('popup-menu', on_right_click)

icon.connect('activate', on_left_click)

change_wall()

thread.start_new_thread(auto_update, ())

gtk.main()

我不得不插入时间。睡觉(1) 每次检查前打电话,看看是否该自动更新,以防止图标/菜单本身变得相当滞后。我在使用wx时从未遇到过这个问题;有没有更优雅的方法来解决这个问题?在

再次感谢您的帮助!在

python 图标拖_托盘图标在Python中的应用,图标是gon相关推荐

  1. python优化网站_[练习] 用PYTHON来优化网站中的图片

    我到公司以来,第一次加班,哇,加一晚上加一上午,现在还没下班的迹象,555,困. 对于网站中的一些关键的页面,多重缓存.静态化.程序代码优化--之外,为了提高用户打开页面的速度,图片是必须要优化的. ...

  2. load python txt文件_详解Python中numpy.loadtxt()读取txt文件

    为了方便使用和记忆,有时候我们会把 numpy.loadtxt() 缩写成np.loadtxt() ,本篇文章主要讲解用它来读取txt文件. 读取txt文件我们通常使用 numpy 中的 loadtx ...

  3. python turtle 绘图_谈一下Pycharm中关联系统Python解释器的方法

    大家知道,PyCharm是一款著名的Python IDE开发工具,是拥有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,具备基本的调试.语法高亮.Project管理.代码跳转.智能提示 ...

  4. python 获取当前目录_如何在Python中获取当前的工作目录?

    python 获取当前目录 To get the current working directory in Python, there is a library function getcwd() i ...

  5. python日期迭代_计算敏捷项目中迭代时间安排(Python3版)

    节奏是敏捷开发的核心,保持合理固定的节奏,能有效的促使各个环节协调统一,高效运行.针对产品的不同周期,方案有所不同. 迭代开发.jpg 通常,我们需要在一个时间盒中去分配一个项目中不同阶段的时间,在项 ...

  6. python绝对导入_[编程基础] Python中的绝对导入与相对导入

    如果您从事的Python项目有多个文件,那么您以前可能不得不使用import语句.即使对于拥有多个项目的Python重度使用者(比如我),import也可能会造成混淆!您可能正在阅读本文,因为您想对P ...

  7. python 生成器 原理_你知道python中的函数、生成器的工作原理吗?

    1.python中函数的工作原理 python的解释器,也就是python.exe(c编写)会用PyEval_EvalFramEx(c函数)运行foo()函数 首先会创建一个栈帧(stack Fram ...

  8. python框架漏洞_注意!Python中的10个常见安全漏洞及修复方法

    编写安全的代码很困难,当你学习一门编程语言.一个模块或框架时,你会学习其使用方法.在考虑安全性时,你需要考虑如何避免代码被滥用,Python也不例外,即使在标准库中,也存在着许多糟糕的实例.然而,许多 ...

  9. eclipse配置python开发环境_如何在Eclipse中配置python开发环境

    展开全部 步骤1: 下载用于在2113Eclipse中开发Python的插件PyDev. 步骤2: 解压5261python.将解压后的features和plugins文件4102夹中的1653内容拷 ...

最新文章

  1. C++列表初始化容器
  2. 20145202 《信息安全系统设计基础》第8周学习总结
  3. C++:undefined reference to vtable 原因与解决办法 [转]
  4. 软件测试用例项目写作,通用测试用例写作方法
  5. Spring Cloud 入门 之 Feign 篇(三)
  6. 699 - The Falling Leaves
  7. 测试基础-07-测试报告编写
  8. java队列,ArrayBlockingQueue
  9. MFC总结之CListCtrl用法及技巧
  10. 2019必学的10大顶级Python库!
  11. 注塑模设计必懂的知识
  12. 前端三件套之CSS(二)
  13. Aria2远程下载方案部署(CentOS7+Aria+AriaNG+Nginx)
  14. HackTheBox——Beep
  15. 【Hyper-V】Windows10家庭版安装Hyper-V虚拟机
  16. CUDA:CUDA内核中内联PTX(汇编语言)用法的实例
  17. 流辰信息微服务平台:数字化转型的优良工具!
  18. TensorFlow常用函数tf.where()、tf.gather()、tf.squeeze()详解!!
  19. 关闭Windows XP系统Beep提示音
  20. Android 自定义RecycleView实现多级树(类似qq分组列表)

热门文章

  1. 动态规划6:买卖股票 I II III IV 冷却,共5题
  2. 矿大计算机考研学硕,【经验贴】2020中国矿业大学(北京)会计学学硕考研经验...
  3. 手部姿态检测(按视频段)_v3(hcn)
  4. 荧光染料标记蛋白质,Cy3/Cy5.5/Cy7-BSA/HAS/Transferrin/Concanavalin A/Casein/Ovalbumin
  5. 计算机程序设计python的作业_2020高校邦《百度凤巢沙盒系统营销实践》单元测试答案2020中国大学《计算机程序设计(Python)》作业题库...
  6. Postman:传递的参数是List类型时 传参格式的写法
  7. 不规则现金流 java设计_第三节不规则现金流的计算
  8. 洛谷 P1618 三连击(升级版)
  9. 【Java】高并发-JUC:JUC中的Condition对象
  10. Google AIY 套件将亮相香港!人工智能新一轮风潮袭来!