2016-10-04 89 views
0

我试图做一个简单的GUI与wxPython我可以在两个或多个页面之间切换使用某些按钮,但我无法这样做。请告诉我一些我可以使用wxPython中的按钮链接这些页面的内容。我试图谷歌它,但没有什么我可以找到有用的。告诉我是否可以链接2页。如何使用wxPython中的按钮链接到新页面

+0

尝试使用wxGlade – Ssein

+0

你的意思' wxNotebook'页面? – furas

回答

0

我希望我的理解正确,你要制作一个包含一些菜单的菜单包含的Windows GUI!正如评论中所提到的那样,我个人使用wxGlage,它是一个用Python编写的GUI设计器,与流行的GUI工具包wxPython一起,可帮助您创建wxWidgets/wxPython用户界面。目前它可以生成Python,C++,Perl,Lisp和XRC(wxWidgets的XML资源)代码。

但是,如果你需要像你说的,你可以使用wxNotebook通过wxPython的的来写自己的任何一个字,你可以使用this代码:

import random 
import wx 

class TabPanel(wx.Panel): 
    #---------------------------------------------------------------------- 
    def __init__(self, parent): 
     """""" 
     wx.Panel.__init__(self, parent=parent) 

     colors = ["red", "blue", "gray", "yellow", "green"] 
     self.SetBackgroundColour(random.choice(colors)) 

     btn = wx.Button(self, label="Press Me") 
     sizer = wx.BoxSizer(wx.VERTICAL) 
     sizer.Add(btn, 0, wx.ALL, 10) 
     self.SetSizer(sizer) 
class DemoFrame(wx.Frame): 
    """ 
    Frame that holds all other widgets 
    """ 

    def __init__(self): 
     """Constructor"""   
     wx.Frame.__init__(self, None, wx.ID_ANY, 
          "Notebook Tutorial", 
          size=(600,400) 
         ) 
     panel = wx.Panel(self) 

     notebook = wx.Notebook(panel) 
     tabOne = TabPanel(notebook) 
     notebook.AddPage(tabOne, "Tab 1") 

     tabTwo = TabPanel(notebook) 
     notebook.AddPage(tabTwo, "Tab 2") 

     sizer = wx.BoxSizer(wx.VERTICAL) 
     sizer.Add(notebook, 1, wx.ALL|wx.EXPAND, 5) 
     panel.SetSizer(sizer) 
     self.Layout() 

     self.Show() 

if __name__ == "__main__": 
    app = wx.App(False) 
    frame = DemoFrame() 
    app.MainLoop() 
+0

非常感谢。这正是我所期待的。但我认为你没有指定按钮的作品**按我**链接到新的笔记本页面。你可以请那么做吗?那太好了 。再次感谢! –

+0

其实按钮*按我*是一个例子,你可以跳过。现在你有不同的项目(页面),所以你可以分别添加一些按钮和其他东西。 – Ssein

相关问题