2013-08-29 28 views
0

我一直在環視網絡,因爲清晨我似乎無法弄清楚如何讓wxPython在我的主框架上顯示一個對話框。如何讓文本對話框出現在wxpython中

import wx 

class MainWindow(wx.Frame): 

    def __init__(self,parent,id): 
     wx.Frame.__init__(self,parent,id,'Window',size=(400,300)) 
     panel = wx.Panel(self) 

     test = wx.TextEntryDialog(panel, 'Enter your word:',"New word","", 
        style=wx.OK|wx.CANCEL|wx.CENTRE,pos=(100,200)) 



def main(): 
    pass 

if __name__ == '__main__': 
    app = wx.App() 
    frame=MainWindow(parent=None,id=1) 
    frame.Show() 
    app.MainLoop() 

它只是打開一個窗口,沒有文本對話。

回答

2

用途:

Dlg = wx.TextEntryDialog(panel, 'Enter your word:',"New word","", 
       style=wx.OK|wx.CANCEL|wx.CENTRE,pos=(100,200)) 

if Dlg.ShowModal() == wx.OK: 
    test = Dlg.GetValue() 
del Dlg 

由於wx.TextEntryDialog是一個對話類沒有方便的對話功能需要展示並獲得價值,而不是剛開答覆之一。

+0

所以第二部分以某種方式使它看起來只是通過驗證模態?還有沒有辦法讓它出現在主框架上而不是打開一個新框架? – UrbKr

+0

爲此,您使用文本_control_,'wx.TextCtrl',而不是使用文本條目_dialogue_,這個名稱會將它稍微分開。 –

+1

通常你做Dlg.Destroy(),而不是del Dlg。 –