gpt4 book ai didi

python - wxPython:鼠标右键单击不设置焦点

转载 作者:行者123 更新时间:2023-12-01 05:30:29 25 4
gpt4 key购买 nike

我的 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 上。

这可能吗?或者有更好的解决方案吗?

最佳答案

def OnShowPopup(self, event):
""" Obtain right-click selection """

pos = event.GetPosition()
pos = self.panel.ScreenToClient(pos)
event.GetEventObject().SetFocus()
self.panel.PopupMenu(self.rightClickMenu, pos)

我认为效果很好......

关于python - wxPython:鼠标右键单击不设置焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20386801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com