0

TextEntryDialog に続いて別の TextEntryDialog を実行しようとしています。最初のものしか表示されず、OKを押した後、2番目のものは表示されません。簡単なことだと思いますが、何か提案はありますか?ありがとう。

#! /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()
4

1 に答える 1

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ダイアログ は必要ないことに注意してください

于 2012-08-11T07:19:49.267 に答える