1

gtk.Entry に数字のみを受け入れさせようとしています。最初は、イベントが発生したときに stdout に何かを印刷しようとしましたが、スクリプトを実行しても、gtk.Entry (pygtk 2.24、python 2.7.2、Windows XP、また同じコードを実行しました) に何かを入力しても何も起こりませんでしたLinux では同じ結果になります)。コードのどこが間違っている可能性がありますか?

import gtk

class UI:
    def delete_event(self, widget, event, data=None):
        return False

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

    def preedit_changed(self, widget, preedit, data=None):
        print "preedit_changed"
        return True

    def __init__(self):
        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.window.connect("delete_event", self.delete_event)
        self.window.connect("destroy", self.destroy)
        self.window.set_border_width(5)
        self.entry = gtk.Entry()
        self.entry.connect("preedit-changed", self.preedit_changed)
        self.window.add(self.entry)
        self.window.show_all()
        gtk.main()

if __name__ == "__main__":
    ui = UI()
4

1 に答える 1