打印本文 打印本文 关闭窗口 关闭窗口
如何使用wxPython设计gui
作者:武汉SEO闵涛  文章来源:敏韬网  点击数6202  更新时间:2006/7/27  文章录入:mintao  责任编辑:mintao
     self.idc_main_toolbar=self.res.LoadToolBar(self.idf_main,"idc_main_toolbar")
        self.idc_splitter_twobar=self.idf_main.FindWindowById(XRCID("idc_splitter_twobar"))
        self.idc_status_txt=self.idf_main.FindWindowById(XRCID("idc_status_txt"))
        self.idc_jobs_list1=jobList(self.idf_main,XRCID("idc_jobs_list1"),self.idc_status_txt)
        self.idc_jobs_list2=jobList(self.idf_main,XRCID("idc_jobs_list2"),self.idc_status_txt)
        self.idc_hosts_list1=hostList(self.idf_main,XRCID("idc_hosts_list1"))
        self.idc_hosts_list2=hostList(self.idf_main,XRCID("idc_hosts_list2"))
        self.idd_new=dlgNew(self.res.LoadDialog(self.idf_main,"idd_new"))
       
        # message map,
        self.MessageMap(self.idf_main)
       
        #binding ctrls
        self.idf_main.SetMenuBar(self.idc_main_menubar)
        self.idf_main.SetToolBar(self.idc_main_toolbar)

        self.RefreshAll()
       
        #show time
        self.ShowMe()
        return True
   
    def RefreshAll(self):
        # get full master state
        self.RefreshAllJobList(None)
        self.RefreshAllHostList(None)
        # should alse display queue status somewhere (self.ms.state)
       
    def RefreshAllJobList(self,jobs):
        # jobList is a sequence of jobs (base class mgr.JobBase)
        self.idc_jobs_list1.Refresh(jobs)
        self.idc_jobs_list2.Refresh(jobs)
       
   
    def RefreshAllHostList(self, workers):
        # workers is dict of slave workers (base class mgr.Worker)
        self.idc_hosts_list1.Refresh(workers)
        self.idc_hosts_list2.Refresh(workers)
   
    def ShowMe(self):
        sizer = self.idf_main.GetSizer()
        sizer.Fit(self.idf_main)
        sizer.SetSizeHints(self.idf_main)
        self.idf_main.Show(True)
        self.SetTopWindow(self.idf_main)

    def ShowMe(self):
        sizer = self.idf_main.GetSizer()
        sizer.Fit(self.idf_main)
        sizer.SetSizeHints(self.idf_main)
        self.idf_main.Show(True)
        self.SetTopWindow(self.idf_main)
  
#----- Message Map and Event Handler ----- begin
    def MessageMap(self,ctrl):
        #menu
        EVT_MENU(ctrl, XRCID("idm_main_pause_queue"), self.OnPauseQ)
        EVT_MENU(ctrl, XRCID("idm_main_resume_queue"), self.OnResumeQ)
        EVT_MENU(ctrl, XRCID("idm_main_new"), self.OnNew)
        EVT_MENU(ctrl, XRCID("idm_main_exit"), self.OnBye)
        EVT_MENU(ctrl, XRCID("idm_main_options"), self.OnOptions)
        EVT_MENU(ctrl, XRCID("idm_main_index"), self.OnIndex)
        EVT_MENU(ctrl, XRCID("idm_main_refresh"), self.OnRefresh)
        EVT_MENU(ctrl, XRCID("idm_main_vertical"), self.OnVertical)
        EVT_MENU(ctrl, XRCID("idm_main_about"), self.OnAbout)
       
        #toolbar
        EVT_MENU(ctrl,XRCID("idc_toolbar_new"), self.OnNew) #google "wxToolBar"
       
       
   
    def OnPauseQ(self,event):
        pass
       
    def OnResumeQ(self,event):
        pass
       
    def OnNew(self,event):
        self.idd_new.ctrl.ShowModal()
        self.RefreshAll()
       
    def OnAbout(self,event):
         dlg = wxMessageDialog(self.idf_main, "None\n"
                                      "Version 1.0\n"
                                      "Copyright(C) 2005-2010 Redguardtoo",
                                      "About Me", wxOK | wxICON_INFORMATION)
         dlg.ShowModal()
         dlg.Destroy()


    def OnBye(self,event):
        print "hello, I am OnBye"
        self.idf_main.Close(True)
           
    def OnOptions(self,event):
        print "hello, I am OnOptions"
   
    def OnIndex(self,event):
        print "hello, I am OnIndex"
       
    def OnRefresh(self,event):
        self.RefreshAll()
               
    def OnVertical(self,event):
        if not self.idc_splitter_twobar.IsSplit():
            return
       
        w1=self.idc_splitter_twobar.GetWindow1()
        assert(w1)
  &nb

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  下一页

打印本文 打印本文 关闭窗口 关闭窗口