文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Frames and Dialogs → Dialog

Frames and Dialogs → Dialog

时间:2007-04-12  来源:wxPhoenix


Overview = """\
wxPython offers quite a few general purpose dialogs for useful data input from
the user; they are all based on the wx.Dialog class, which you can also subclass
to create custom dialogs to suit your needs.
The Dialog class, in addition to dialog-like behaviors, also supports the full
wxWindows layout featureset, which means that you can incorporate sizers or
layout constraints as needed to achieve the look and feel desired. It even supports
context-sensitive help, which is illustrated in this example.
The example is very simple; in real world situations, a dialog that had input
fields such as this would no doubt be required to deliver those values back to
the calling function. The Dialog class supports data retrieval in this manner.
However, the data must be retrieved prior to the dialog being destroyed.
The example shown here is modal; non-modal dialogs are possible as well.
See the documentation for the Dialog class for more details. """  
import  wx
  class Dialog(wx.Dialog):
 def __init__(
   self, parent, id=-1, title='Test Dialog', size=wx.DefaultSize, pos=wx.DefaultPosition,
   style=wx.DEFAULT_DIALOG_STYLE,
   useMetal=False
   ):
   pre = wx.PreDialog()
   pre.SetExtraStyle(wx.DIALOG_EX_CONTEXTHELP)
   pre.Create(parent, id, title, pos, size, style)
   self.PostCreate(pre)
   
   sizer = wx.BoxSizer(wx.VERTICAL)
   
   label = wx.StaticText(self, -1, "This is a wx.Dialog")
   label.SetHelpText("This is the help text for the label")
   sizer.Add(label, 0, wx.ALIGN_CENTRE | wx.ALL, 5)
   
   
   box = wx.BoxSizer(wx.HORIZONTAL)
   
   label = wx.StaticText(self, -1, "Field #1: ")
   label.SetHelpText("This is the help text for the label")
   box.Add(label, 0, wx.ALIGN_CENTRE | wx.ALL, 5)
   
   text = wx.TextCtrl(self, -1, "", size=(80, -1))
   text.SetHelpText("This is some help for field #1")
   box.Add(text, 1, wx.ALIGN_CENTRE | wx.ALL, 5)
   
   sizer.Add(box, 0, wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5)
   
   
   box = wx.BoxSizer(wx.HORIZONTAL)
   
   label = wx.StaticText(self, -1, "Field #2: ")
   label.SetHelpText("This is the help text for the label")
   box.Add(label, 0, wx.ALIGN_CENTRE | wx.ALL, 5)
   
   text = wx.TextCtrl(self, -1, "", size=(80, -1))
   text.SetHelpText("This is some help for field #2")
   box.Add(text, 0, wx.ALIGN_CENTRE | wx.ALL, 5)
   
   sizer.Add(box, 0, wx.GROW | wx.ALIGN_CENTER_VERTICAL | wx.ALL, 5)
   
   
   line = wx.StaticLine(self, -1, size=(20, -1), style=wx.LI_HORIZONTAL)
   sizer.Add(line, 0, wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.RIGHT|wx.TOP, 5)
   
   btnsizer = wx.StdDialogButtonSizer()
   button = wx.Button(self, wx.ID_OK)
   button.SetHelpText("The OK button completes the dialog")
   button.SetDefault()
   btnsizer.AddButton(button)
   
   button = wx.Button(self, wx.ID_CANCEL)
   button.SetHelpText("The Cancel button cancels the dialog. (cool huh?)")
   btnsizer.AddButton(button)
   btnsizer.Realize()
   
   sizer.Add(btnsizer, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5)
   self.SetSizer(sizer)
   sizer.Fit(self)
   
   
def TestDialog():
 app = wx.PySimpleApp()
 dlg = Dialog(parent=None)
 dlg.CentreOnScreen()
 dlg.ShowModal()
 app.MainLoop()
 
 
if __name__ == "__main__":
 TestDialog()
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载