2012-08-11 86 views
0

我想要做一个TextEntryDialog,然后是另一个TextEntryDialog。我只能得到第一个出现,然后我点击确定后,第二个不出现。我确定这很容易,任何人有任何建议?谢谢。wxpython - 多个TextEntryDialog窗口

#! /usr/bin/env python 

import wx 

class bucky(wx.Frame):  
    def __init__(self,parent,id): 
     wx.Frame.__init__(self,parent,id,'Frame aka window', size=(300,200)) 
     panel = wx.Panel(self) 

     user = wx.TextEntryDialog(None, "Login", "Username", "") 

     if user.ShowModal() == wx.ID_OK: 
     username = user.GetValue() 
     user.Destroy() 
     password = wx.TextEntryDialog(None, "Password", "Password", "") 

if __name__ =='__main__': 
    app = wx.PySimpleApp() 
    frame = bucky(parent=None, id=-1) 
    frame.Show() 
    app.MainLoop() 

回答

0

您需要ShowModal再次看到你的条目:

user = wx.TextEntryDialog(None, "Login", "Username", "") 
if user.ShowModal() == wx.ID_OK: 
    print 'here' 
    password = wx.TextEntryDialog(None, "Password", "Password", "") 
    if password.ShowModal() == wx.ID_OK: 
     print 'there' 

注意你不需要destroy对话框

+0

嗯,这很容易!非常感谢(这是我的第一篇文章,一定会回来的!)我也发现我可以使用password.Show(True)并且很明显工作。再次感谢! – 2012-08-11 07:33:32