Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在wxpython中显示文本对话_Python_Interface_Wxpython - Fatal编程技术网

如何在wxpython中显示文本对话

如何在wxpython中显示文本对话,python,interface,wxpython,Python,Interface,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.TextEntryDialo

我从一大早就开始在网上浏览,我似乎不知道如何让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()
它只是打开一个没有文本对话的窗口

使用:

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是一个对话类而不是一个方便的对话函数您需要显示它并获取值,而不仅仅是获得回复。

因此,第二部分通过验证模态使它以某种方式出现?还有一种方法可以让它出现在主框架上,而不是打开一个新的框架吗?为此,您可以使用文本控件,
wx.TextCtrl
,而不是文本输入对话框,名称会透露一点信息。通常您使用Dlg.Destroy(),而不是del Dlg。谢谢您的回答!如果这个问题太平庸,我很抱歉。