2016-10-04 90 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

相關問題