0

テキストボックスに何かを入力すると、そのタスクを実行するGUIを備えたプログラムを作成したいと思います。私が持っているGUI以外の例はこれです:

input = input("");
def chat():
    if "hello" in input:
        print "hi"
while True:
    chat();

明らかにコードは長くなりますが、コンセプトは同じです。また、印刷の代わりにespeakを使用したため、ラベルは必要ありません

ありがとう!

4

1 に答える 1

0

基本的に必要なことを行う簡単な例を次に示します。

import wx

########################################################################
class MyFrame(wx.Frame):
    """"""

    #----------------------------------------------------------------------
    def __init__(self):
        """Constructor"""
        wx.Frame.__init__(self, None, title="Chat")
        panel = wx.Panel(self)

        my_sizer = wx.BoxSizer(wx.VERTICAL)

        lbl = wx.StaticText(panel, label="Input:")
        my_sizer.Add(lbl, 0, wx.ALL, 5)

        self.txt = wx.TextCtrl(panel, style=wx.TE_PROCESS_ENTER)
        self.txt.SetFocus()
        self.txt.Bind(wx.EVT_TEXT_ENTER, self.OnEnter)
        my_sizer.Add(self.txt, 0, wx.ALL, 5)

        panel.SetSizer(my_sizer)
        self.Show()

    #----------------------------------------------------------------------
    def OnEnter(self, event):
        """"""
        text = self.txt.GetValue()
        if text.lower() == "hello":
            print "Hi!"

if __name__ == "__main__":
    app = wx.App(True)
    frame = MyFrame()
    app.MainLoop()
于 2014-12-19T22:54:09.517 に答える