Rap*_*oli 0 wxpython click onclick
我正在尝试使用 wxpython 检测位图上的 CLI。on_click 过程似乎在没有 CLIC 的情况下运行,并且在单击时不运行。我做错了什么?
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
import os
import wx
import wx.lib.agw.thumbnailctrl as TC
import Image
filename="Raphael-Poli-angle.png"
class MyForm(wx.Frame):
def on_clic(self):
print "clicked"
def __init__(self):
wx.Frame.__init__(self, None, wx.ID_ANY, "Choose Dot in Picture", size=(700,500))
self.panel = wx.Panel(self, wx.ID_ANY)
png = wx.Image(filename, wx.BITMAP_TYPE_ANY).ConvertToBitmap()
image=wx.StaticBitmap(self.panel, -1, png, (1, 1), (png.GetWidth(), png.GetHeight()))
image.Bind(wx.EVT_LEFT_DOWN, self.on_clic())
self.Show(True)
if __name__ == "__main__":
app = wx.App(False)
frame = MyForm()
app.SetTopWindow(frame)
frame.Show()
app.MainLoop()
Run Code Online (Sandbox Code Playgroud)
您不必“输入事件”。该事件来自外部 - 取决于您的操作。将“def on_clic...”更改为
def on_clic(self, evt):
Run Code Online (Sandbox Code Playgroud)
并将“image.Bind...”更改为
image.Bind(wx.EVT_LEFT_DOWN, self.on_clic)
Run Code Online (Sandbox Code Playgroud)
如果您将 on_clic 更改为:
def on_clic(self, evt):
x, y=evt.GetPosition()
print "clicked at", x, y
Run Code Online (Sandbox Code Playgroud)
...您还可以获取单击图像的位置。
请参阅:https ://wxpython.org/docs/api/wx.MouseEvent-class.html
| 归档时间: |
|
| 查看次数: |
1789 次 |
| 最近记录: |