6

Pythonでメッセージボックスまたは入力ボックスを作成するためのUIライブラリはありますか?

4

4 に答える 4

11

あなたの最善の策は tkMessageBox モジュールです。これはすべてのシステムで動作するはずです (Python には通常 Tkinter が付属しているため)。

特定のオペレーティング システムに制限できる場合は、より適切な選択肢が利用できる可能性があります。

于 2008-11-02T21:26:54.230 に答える
3

簡単なメッセージ ボックスと入力ボックスは、Python に付属の Tkinter を使用した小さなライブラリである EasyGui を使用して作成できます。

ここで EasyGui を入手できます: http://easygui.sourceforge.net/

于 2008-11-03T03:16:40.530 に答える
2

マルチプラットフォームでもある wx python について良いことを聞いたことがあります。

于 2008-11-02T22:58:15.760 に答える
1

Tkinter から

import *
import os

    class Dialog(Toplevel):

    def __init__(self, parent, title = None):

        Toplevel.__init__(self, parent)
        self.transient(parent)

        if title:
            self.title(title)

        self.parent = parent

        self.result = None

        body = Frame(self)
        self.initial_focus = self.body(body)
        body.pack(padx=5, pady=5)

        self.buttonbox()

        self.grab_set()

        if not self.initial_focus:
            self.initial_focus = self

        self.protocol("WM_DELETE_WINDOW", self.cancel)

        self.geometry("+%d+%d" % (parent.winfo_rootx()+50,
                                  parent.winfo_rooty()+50))

        self.initial_focus.focus_set()

        self.wait_window(self)

    #
    # construction hooks

    def body(self, master):
        # create dialog body.  return widget that should have
        # initial focus.  this method should be overridden

        pass

    def buttonbox(self):
        # add standard button box. override if you don't want the
        # standard buttons

        box = Frame(self)

        w = Button(box, text="OK", width=10, command=self.ok, default=ACTIVE)
        w.pack(side=LEFT, padx=5, pady=5)
        w = Button(box, text="Cancel", width=10, command=self.cancel)
        w.pack(side=LEFT, padx=5, pady=5)

        self.bind("<Return>", self.ok)
        self.bind("<Escape>", self.cancel)

        box.pack()

    #
    # standard button semantics

    def ok(self, event=None):

        if not self.validate():
            self.initial_focus.focus_set() # put focus back
            return

        self.withdraw()
        self.update_idletasks()

        self.apply()

        self.cancel()

    def cancel(self, event=None):

        # put focus back to the parent window
        self.parent.focus_set()
        self.destroy()

    #
    # command hooks

    def validate(self):

        return 1 # override

    def apply(self):

        pass # override
于 2011-12-30T11:21:03.023 に答える