0
我正在構建一個GUI,我正在使用wxribbon進行wxpython。我希望我的用戶單擊功能區欄上的任何選項卡並重命名它。問題是我無法通過右鍵單擊功能區欄來獲取對象(在這種情況下是選項卡)。我正在使用下面的代碼,但它不工作。我無法獲得右鍵點擊的頁面,我得到的是當前活動的頁面。任何幫助都會很棒。謝謝!。示例代碼如下:如何從wxpython的wxribbon欄中的右鍵單擊事件中獲取對象?
self.Bind(RB.EVT_RIBBONBAR_TAB_RIGHT_DOWN, self.RightClickRibbonTabs, id = wx.ID_ANY)
def RightClickRibbonTabs(self,event):
index, tab = self._ribbon.HitTestTabs(wx.GetMousePosition())
page = self._ribbon._pages[index].page
pos = wx.GetMousePosition()
x, y = pos.x, pos.y
self.popupmenu = wx.Menu()
RenameTab = self.popupmenu.Append(-1, "Rename Tab")
self.Bind(wx.EVT_MENU, lambda event : self.RenameTab(event, x, y, page), RenameTab)
pos = wx.GetMousePosition()
x, y = pos.x, pos.y
pos = self.ScreenToClient(pos)
self.PopupMenu(self.popupmenu, pos)
def RenameTab(self, event, x, y, page):
text = wx.TextEntryDialog(None, "Rename Tab :", "Rename Tab", page.GetLabel())
text.CenterOnParent()
answer = text.ShowModal()
text.Destroy()
if answer == wx.ID_OK:
newname = text.GetValue()
page.SetLabel(newname)
self._ribbon.Realize()
else:
pass
請不要把在標題[解決]。接受的答案足以說明問題已解決。 – Fenikso