我的GUI当前有右键单击选项(剪切、复制、粘贴)
然而,当我右键单击我的搜索栏时,我意识到(wx.SearchCtrl)要尝试粘贴,焦点没有设置到搜索栏上,因此我无法粘贴。在
self.panel.Bind(wx.EVT_CONTEXT_MENU, self.OnShowPopup)
def OnShowPopup(self, event):
""" Obtain right-click selection """
pos = event.GetPosition()
pos = self.panel.ScreenToClient(pos)
self.panel.PopupMenu(self.rightClickMenu, pos)
def OnPopupItemSelected(self, event):
""" Display right-click menu """
item = self.rightClickMenu.FindItemById(event.GetId())
text = item.GetText()
elif text == "Paste":
self.OnPaste()
def OnPaste(self, event = None):
""" Paste content from clipboard """
text = self.FindFocus()
if text:
if isinstance(text, wx.TextCtrl):
text.Paste()
我的想法是: 右键单击时获取鼠标的位置。然后使用该位置将焦点设置在保持该位置的Ctrl上。在
这可能吗?还是有更好的解决办法?在
保存执行右键单击的对象,然后选择“粘贴”后设置焦点。 为什么事件.GetEventObject在settextupFocus()之后,从settextupPaste()中选择可能会丢失焦点。所以文本不会在那里打印
会很好的,我想。。。在
相关问题 更多 >
编程相关推荐