Python内置了好多定义好了的对话框供我们使用,这里先介绍三个最常用的:
1 Message dialog
2 Text entry
3 Choosing from a list
当然python还有更多的对话框供我们选择,例如文件选择框,颜色,字体对话框等待,这里先不做介绍了。
先看第一个wx.MessageDialog
这是一个非常简单的提示对话框,下面看一个例子:
import wx
class App(wx.App):
def OnInit(self):
dlg=wx.MessageDialog(None,"Is this the coolest thing ever!",
"MessageDialog",wx.YES_NO|wx.ICON_QUESTION)
result=dlg.ShowModal()
dlg.Destroy()
app=App()
app.MainLoop()
产生一个对话框:
关于MessageDialog的参数:wx.MessageDialog(parent,message,caption=’Message box’
Style=wx.OK|wx.CANCEL,
Pos=wx.DefaultPosition)
1 parent:是这个dialog的父窗口,如果没有就是None
2 message :是要在窗口中显示的信息
3 caption 是窗口的标题
4 style:窗口风格(包括图标和按钮风格),按钮可以是wx.OK wx.CANCEL或者wx.YES_NO,当然也可以包括提示图标比如:wx.ICON_ERROR,
wx.ICON_EXCLAMATION, wx.ICON_INFORMATION, and wx.ICON_QUESTION. 图标和按钮可以联合使用
5 pos 位置,一般为默认,当然也可以设置一个元组坐标位置。
下面看看文本输入对话框,可以输入单行文本的对话框:看例子:
Import wx
class App(wx.App):
def OnInit(self):
dlg=wx.TextEntryDialog(None,"What kind of language do you like?","A Question","Python")
if dlg.ShowModal()==wx.ID_OK:
response=dlg.GetValue()
app=App()
app.MainLoop()
下面看看TextEntryDialog的参数,第一个是所属的父窗口,第二个是要显示在对话框上的提示信息,默认的信息是”please enter text”,第三个是标题,第四是个输入框中初始显示的内容,默认是空,最后是style,包括按钮,基本和MessageDialog类似。这些按钮关联了一些消息响应,我们可以根据这个做一些事情。
最后看第三种对话框,类似于列表选择框,但是只能选择一个选项:
Import wx
class App(wx.App):
def OnInit(self):
dlg=wx.SingleChoiceDialog(None,"What version of Python are you using?",
"Single Choice",
['1.5.2','2.0','2.1.3','2.2','2.3.1'])
if dlg.ShowModal()==wx.ID_OK:
response=dlg.GetStringSelection()
app=App()
app.MainLoop()