python 图标拖_托盘图标在Python中的应用,图标是gon
好吧,与其继续在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相关推荐
- python优化网站_[练习] 用PYTHON来优化网站中的图片
我到公司以来,第一次加班,哇,加一晚上加一上午,现在还没下班的迹象,555,困. 对于网站中的一些关键的页面,多重缓存.静态化.程序代码优化--之外,为了提高用户打开页面的速度,图片是必须要优化的. ...
- load python txt文件_详解Python中numpy.loadtxt()读取txt文件
为了方便使用和记忆,有时候我们会把 numpy.loadtxt() 缩写成np.loadtxt() ,本篇文章主要讲解用它来读取txt文件. 读取txt文件我们通常使用 numpy 中的 loadtx ...
- python turtle 绘图_谈一下Pycharm中关联系统Python解释器的方法
大家知道,PyCharm是一款著名的Python IDE开发工具,是拥有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,具备基本的调试.语法高亮.Project管理.代码跳转.智能提示 ...
- python 获取当前目录_如何在Python中获取当前的工作目录?
python 获取当前目录 To get the current working directory in Python, there is a library function getcwd() i ...
- python日期迭代_计算敏捷项目中迭代时间安排(Python3版)
节奏是敏捷开发的核心,保持合理固定的节奏,能有效的促使各个环节协调统一,高效运行.针对产品的不同周期,方案有所不同. 迭代开发.jpg 通常,我们需要在一个时间盒中去分配一个项目中不同阶段的时间,在项 ...
- python绝对导入_[编程基础] Python中的绝对导入与相对导入
如果您从事的Python项目有多个文件,那么您以前可能不得不使用import语句.即使对于拥有多个项目的Python重度使用者(比如我),import也可能会造成混淆!您可能正在阅读本文,因为您想对P ...
- python 生成器 原理_你知道python中的函数、生成器的工作原理吗?
1.python中函数的工作原理 python的解释器,也就是python.exe(c编写)会用PyEval_EvalFramEx(c函数)运行foo()函数 首先会创建一个栈帧(stack Fram ...
- python框架漏洞_注意!Python中的10个常见安全漏洞及修复方法
编写安全的代码很困难,当你学习一门编程语言.一个模块或框架时,你会学习其使用方法.在考虑安全性时,你需要考虑如何避免代码被滥用,Python也不例外,即使在标准库中,也存在着许多糟糕的实例.然而,许多 ...
- eclipse配置python开发环境_如何在Eclipse中配置python开发环境
展开全部 步骤1: 下载用于在2113Eclipse中开发Python的插件PyDev. 步骤2: 解压5261python.将解压后的features和plugins文件4102夹中的1653内容拷 ...
最新文章
- 一文看懂Modbus协议
- 利用rank函数实现自动排序
- 在CentOS下安装crontab服务
- html 首行缩进2个汉字
- python乘积函数_龙贝格求积公式(Python实现)
- 支持javascript的ppt软件_强大CSS3的3D幻灯片工具reveal.js(推荐)
- 191106_爬数据绘图
- 用于保存计算机输入输出数据的材料及其,与房地产,电子,金融,汽车并称五大产业的是()...
- 多进程服务器中,epoll的创建应该在创建子进程之后
- 【系统分析师之路】原创章节 重构与改善设计思维导图
- MATLAB生成M序列和Gold序列
- pdf文件怎么转换成图片?
- ReactOS 分析一
- Android开发新手入门总结(1)
- python进阶之路———文件处理
- Java+spring+springmvc 基于ssm的家乡特产销售系统#毕业设计
- 电影记忆之18(记忆碎片)
- 51单片机控制电动机正反转和调速
- 微信小程序iconfont的图标引入
- 提取DC综合report_constrain all violator中big neg slack
热门文章
- 基于Opencv实现连续检测yuv转bmp后的每一帧的sobel算法实现
- 百度网盘怎么分享文件(或加密或不加密)
- 方舟端游进服务器无限闪退,【求助】方舟一进服务器 过一会儿 闪退 弹白框求解...
- 下载流媒体的好工具http://www.souxin.com/stream-software-down.htm
- 《PyTorch深度学习实践》完结合集--B站刘二大人学习总结
- 读书笔记《不拘一格》
- Python爬虫之百度/360搜索关键字自动提交
- 不开通百度云会员也可以会员速度下载
- 单片机io口定义C语言,怎样把单片机的8个不同管脚定义成同一个IO口??
- 哀嚎遍野!学妹跟学弟分手了,因为JavaEE期末课设SSM太难了!呜呼哀哉!