我有一組可用的圖像。如果我點擊其中一個圖像,是否有一種方法可以確定在wxPython中點擊了哪些圖像?確定wxPython中的選定圖像
1
A
回答
3
你幾乎肯定必須自己計算一下。最直接的方法是使用像wx.EVT_LEFT_DOWN這樣的鼠標事件,並在事件處理程序中獲取鼠標的座標。然後使用這些信息告訴你在你點擊的wxPython窗口上的什麼位置。每個圖像小部件或DC或任何您使用的都可以報告它的大小和位置,因此如果鼠標座標位於X圖像的邊界內,就會知道它已被點擊。您可能也可以使用HitTest()方法,具體取決於您用來顯示圖像的內容。
編輯:這裏是你會怎麼做,如果你使用的是wx.StaticBitmap,您安裝wx.EVT_LEFT_DOWN它實際上讓:
import wx
class PhotoCtrl(wx.Frame):
def __init__(self):
size = (400,800)
wx.Frame.__init__(self, None, title='Photo Control', size=size)
self.panel = wx.Panel(self)
img = wx.EmptyImage(240,240)
self.imageCtrl = wx.StaticBitmap(self.panel, wx.ID_ANY,
wx.BitmapFromImage(img),
name="emptyImage")
imageCtrl2 = wx.StaticBitmap(self.panel, wx.ID_ANY,
wx.BitmapFromImage(img),
name="anotherEmptyImage")
self.imageCtrl.Bind(wx.EVT_LEFT_DOWN, self.onClick)
imageCtrl2.Bind(wx.EVT_LEFT_DOWN, self.onClick)
mainSizer = wx.BoxSizer(wx.VERTICAL)
mainSizer.Add(self.imageCtrl, 0, wx.ALL, 5)
mainSizer.Add(imageCtrl2, 0, wx.ALL, 5)
self.panel.SetSizer(mainSizer)
self.Show()
#----------------------------------------------------------------------
def onClick(self, event):
""""""
print event.GetPosition()
imgCtrl = event.GetEventObject()
print imgCtrl.GetName()
if __name__ == '__main__':
app = wx.App(False)
frame = PhotoCtrl()
app.MainLoop()
0
你不告訴我們怎麼什麼你正在顯示你的圖像?你是否在直流電上正確地使用它們?你在爲他們創建面板嗎?等等......正確地設置你的項目很重要。基本上你給我們零信息來幫助你。
保持所有考慮到這一點,像這樣的正常工作(這就是所謂的自包含的代碼示例,你應該總是提供一個與你的問題,使人們更容易幫助你)
import wx
a = wx.App(redirect=False)
f= wx.Frame(None,-1,"Some Frame",size = (200,200))
sz = wx.BoxSizer(wx.HORIZONTAL)
def OnClick(evt):
print "Clicked:",evt.GetId()-10023
for i,img in enumerate(["img1","img2","img3"]):
id = 10023+i
p = wx.Panel(f,-1)
sz.Add(p)
sz1 = wx.BoxSizer()
p.Bind(wx.EVT_LEFT_UP,OnClick)
bmp = wx.Image(img).ConvertToBitmap()
b = wx.StaticBitmap(p,-1,bmp)
sz1.Add(b)
p.SetSizer(sz1)
f.SetSizer(sz)
f.Layout()
f.Fit()
f.Show()
a.MainLoop()
請記住,我沒有測試它...但理論上它應該工作...
相關問題
- 1. 重新定位wxPython的位圖圖像
- 2. wxPython:在面板中定位圖像
- 3. 試圖確定wxPython文本中是否允許特定行爲
- 4. 我試圖顯示一個由選定的單選按鈕確定的圖像
- 5. wxPython的圖像和
- 6. 確定Java中的圖像的DPI
- 7. 確定HTML中的圖像旋轉Javascript
- 8. 確定內存中的圖像
- 9. 選定的UIButton圖像
- 10. 確定放置在固定圖層中的圖像數量
- 11. 在選定的項目(ListView)中正確添加背景圖像
- 12. 確定視圖中選定複選框的數量
- 13. 在wxpython中顯示圖像
- 14. 確定圖像偏移量
- 15. 如何確定是圖像
- 16. 圖像定位不正確
- 17. wx.ListCtrl與圖像(wxPython)
- 18. wxPython圖像與URL
- 19. wxPython交換圖像
- 20. wxPython:如何確定事件源
- 21. 獲取TinyMCE中選定圖像的src
- 22. 如何確定在wxPython中選擇了RadioBox中的哪個按鈕?
- 23. 確定所選圖像源自設備攝像頭
- 24. 從RGB圖像中確定照度
- 25. wxpython按鈕/圖像上的RichtextCtrl事件綁定
- 26. 不確定如何正確定位圖像上的梯度
- 27. wxPython的樹CTRL圖像
- 28. UITableViewCell設置選定圖像
- 29. 在BoxSizer中的圖像後的WxPython StaticLine
- 30. Android圖庫顯示選定的圖像
是的....你有什麼試過...因爲它基本上就像你期望的那樣工作... – 2013-04-04 17:34:45
我嘗試了谷歌搜索,但沒有發現任何相關的;如何將該圖像上的點擊綁定到決定響應的函數上。如果我按順序放置它們,不會爲每個圖像調用它們嗎? – zer0nes 2013-04-04 17:41:40
你不告訴我們關於你如何顯示你的圖像的任何事情?你是否在直流電上正確地使用它們?你在爲他們創建面板嗎?等...正確地設置你的項目是很重要的 – 2013-04-04 19:22:02