Выполнение функции спустя 5 секунд после этого pygtk виджет показывают

Короче говоря:

  • UTF-8: кодирование переменной ширины, назад совместимое с ASCII. Символы ASCII (U+0000 к U+007F) берут 1 байт, кодовые точки, U+0080 к U+07FF берут 2 байта, кодовые точки, U+0800 к U+FFFF берут 3 байта, кодовые точки, U+10000 к U+10FFFF берут 4 байта. Хороший для английского текста, не настолько хорошего для азиатского текста.
  • UTF-16: кодирование переменной ширины. Кодовые точки U+0000 к U+FFFF берут 2 байта, кодовые точки U+10000 к U+10FFFF, берут 4 байта. Плохо для английского текста, хорошего для азиатского текста.
  • UTF-32: кодирование фиксированной ширины. Все кодовые точки берут четыре байта. Огромный пожиратель ресурсов памяти, но быстро воздействовать на. Редко используемый.

В долго: посмотрите Википедию: UTF-8, UTF-16, и UTF-32.

11
задан Jan Tojnar 20 August 2009 в 21:39
поделиться

2 ответа

Вы можете использовать glib.timeout_add ( interval , callback , ... ) , чтобы периодически вызвать функцию.

Если функция возвращает Истина , то она будет вызвана снова через интервал; если функция возвращает False , то она не будет вызываться снова.

Вот краткий пример добавления тайм-аута после события show виджета:

import pygtk
pygtk.require('2.0')
import gtk
import glib

def timer_cb():
    print "5 seconds elapsed."
    return False

def show_cb(widget, data=None):
    glib.timeout_add(5000, timer_cb)

def destroy_cb(widget, data=None):
    gtk.main_quit()

def main():
    window = gtk.Window(gtk.WINDOW_TOPLEVEL)

    window.connect("show", show_cb)

    window.connect("destroy", destroy_cb)

    window.show()

    gtk.main()

if __name__ == "__main__":
    main()
14
ответ дан 3 December 2019 в 04:52
поделиться

Если время не критично, чтобы быть точным десятых долей секунды, используйте

glib.timeout_add_seconds(5, ..)

else, как указано выше.

timeout_add_seconds позволяет системе согласовывать таймауты с другими событиями, в конечном итоге уменьшая пробуждение ЦП (особенно если тайм-аут повторяется) и сохраняет энергия для планеты (!)

9
ответ дан 3 December 2019 в 04:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: