wx Python проблема с изображением: невозможно получить позицию из моего изображения с помощью wx python (но только из пограничной зоны) - PullRequest
1 голос
/ 14 июля 2020

Я просмотрел несколько связанных тем, но не нашел решения своей проблемы.

Я пытаюсь определить позицию щелчка мыши по изображению, отображаемому на моей панели. Я могу распечатать позицию, только если щелкну мышью из белой зоны за пределами моего изображения, но не могу распечатать любую позицию, если щелкну по своему изображению. Я прикрепил свой код ниже. Может кто подскажет, где я сделал не так?

Заранее большое спасибо!

введите описание изображения здесь

import wx
class MyCanvas(wx.ScrolledWindow):
    def __init__(self, parent, id = -1, size = wx.DefaultSize, filepath = None):
        wx.ScrolledWindow.__init__(self, parent, id, (0, 0), size=size, style=wx.SUNKEN_BORDER)

        filepath = r'C:\Users\li58\Documents\work\Code\UAV\UAV-gui\image_000050_LR.png'
        self.image = wx.Image(filepath)
        self.bmp = wx.Bitmap(self.image)
        
        # Create a control that can display the bitmap on the screen.        
        self.image_ctrl = wx.StaticBitmap(self)
        self.image_ctrl.SetBitmap(self.bmp)
        self.Bind(wx.EVT_LEFT_UP, self.OnClick)

    def OnClick(self, event):
        ctrl_pos = event.GetPosition()
        print("ctrl_pos: " + str(ctrl_pos.x) + ", " + str(ctrl_pos.y))


class ReferenceFrame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, size = wx.DefaultSize, title = "Get position")
        panel = MyCanvas(self)
        self.Show()


if __name__ == '__main__':
    app = wx.App()
    frame = ReferenceFrame()
    frame.Show()
    app.MainLoop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...