使用標準Python庫可以獲取像素值中的光標位置嗎?獲取指針的像素位置
我不能正確定位彈出式菜單:
pos = self.text.GetLastPosition()
start, end = self.text.PositionToXY(pos)
self.text.PopupMenuXY(self.popupmenu,start, end)
謝謝!
使用標準Python庫可以獲取像素值中的光標位置嗎?獲取指針的像素位置
我不能正確定位彈出式菜單:
pos = self.text.GetLastPosition()
start, end = self.text.PositionToXY(pos)
self.text.PopupMenuXY(self.popupmenu,start, end)
謝謝!
不符合標準因爲這是平臺相關的python庫。在Windows中可以使用WINAPI:
import win32api
x, y = win32api.GetCursorPos()
在Linux上可以使用的xlib:
from Xlib.display import Display
display = Display()
coord = display.screen().root.query_pointer()._data
x = coord["root_x"]
y = coord["root_y"]
爲了得到與wxPython的鼠標位置,你可以使用:
pos = wx.GetMousePosition() # in screen coordinates
這使你將屏幕座標中的XY位置作爲元組。 如果您需要相對於窗口小部件的位置,則必須通過調用窗口小部件上的ScreenToClient()將其轉換爲客戶端座標。
pos = self.textctrl.ScreenToClient(pos) # relative to textctrl
如果你只是想顯示在當前鼠標位置的彈出式菜單,你可以跳過這並調用PopupMenu的(),而無需提供的位置:
self.PopupMenu(self.popupmenu) # pop up menu at mouse position
wxPython的圖書館 – user1798498