繁体   English   中英

gtk.main()执行时与gtk.container交互?

[英]Interacting with a gtk.container while gtk.main() is executing?

使用pygtkegg.trayicon在Python中尝试使用电池监视器图标创建一个图标以显示电池图标/工具提示。

我似乎能够添加图标和工具提示文本,但当它到达gtk.main()阶段时,我需要一种方法来修改它们,以便它可以显示更新的值。

我已经尝试了gobject.idle_add()gobject.timeout_add()没有太多运气,不知道从哪里开始。

有人有任何想法吗?

编辑 :也许不是最清楚的问题。

我需要循环,在运行时从acpi获取信息并将其应用于gtk容器内的小部件。

编辑2 :好的,它现在正常。 问题是我在回调中没有返回任何内容。 我只是给它“返回123”,现在它很高兴地在我的系统托盘中匆匆走开,通知我我的电池百分比:)

这个例子对我有用:

# -*- Mode: Python -*-
# vi:si:et:sw=4:sts=4:ts=4

import gobject
import gtk
from egg import trayicon

label = gtk.Label("Over here")

def callback(widget, ev):
    label.set_text("You found me")

def timeout():
    label.set_text("What are you waiting for?")

tray = trayicon.TrayIcon("TrayIcon")
box = gtk.EventBox()
box.add(label)
tray.add(box)
tray.show_all()

box.connect("button-press-event", callback)

gobject.timeout_add(3000L, timeout)

gtk.main()

没有看到你的代码,很难说什么不起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM