我正在使用wxpython製作這個GUI工具。爲此我有一個菜單和一些菜單項。現在,當我點擊一個特定的菜單項時,我已經編寫了處理菜單項點擊事件的代碼。它會創建一個新工作表(面板和其中的一個listctrl),並將該頁面添加到已創建的wx.Notebook
對象中。現在,當我點擊一個接一個的菜單項時,我希望連續打開的選項卡處於活動狀態(也就是那個時刻向用戶顯示的選項卡),而實際發生的情況是打開的第一個選項卡是一個保持活躍的人。請問我可以怎樣做到這一點?wxpython:如何通過事件處理程序打開選項卡以激活選項卡?
這裏是事件處理程序的代碼:
# code for one menu-item click -
def displayApps(self, event):
self.appsTab = TabPanel(self.notebook)
self.notebook.AddPage(self.appsTab, "List of applications running on each node")
self.apps = wx.ListBox(self.appsTab, 12, (10, 40),(450,150), self.appslist, wx.LB_SINGLE) #creating the listbox inside the panel in the tab
# code for another menu-item click -
def displayFreeNodes(self, event):
#displays the list of free nodes in panel1
self.freenodesTab = TabPanel(self.notebook)
self.notebook.AddPage(self.freenodesTab, "List of free nodes in the cluster")
self.freenodes = wx.ListBox(self.freenodesTab, 13, (10,40),(200,130), self.freenodeslist, wx.LB_SINGLE)
#self.boxsizer1.Add(self.freenodes, 1)
感謝您的客氣話並鏈接到我的博客。我很高興人們仍然覺得我的舊文章很有用。 –
謝謝你,完美的工作! – gravetii
關於同一個腳本的另外一個問題 - 如何避免打開已經在筆記本中打開的選項卡(當用戶點擊之前的同一個菜單項以及何時調用事件處理程序時)。如同當用戶再次點擊相同的菜單項時,已經打開的標籤變爲活動標籤,並且具有相同信息的新標籤不再打開。我怎樣才能做到這一點? – gravetii