event außerhalb des Frames

Plattformunabhängige GUIs mit wxWidgets.
PEID
User
Beiträge: 6
Registriert: Donnerstag 11. Dezember 2008, 10:02

event außerhalb des Frames

Beitragvon PEID » Montag 20. April 2009, 12:44

Hallo,

Wie schafft man es in wxPython ein event außerhalb des programmierten Fensters anzusteuern?

Mein Vorhaben besteht darin das ich eine bestimmte Position des Mauszeigers auf den Bildschirm bekommen möchte. Dabei hatte ich überlegt das ich Prg. schreibe was wx.TextCtrl sowie wx.Button enthält und sobald man nun auf den Button klickt soll man anschließend die gewünschte Position mit der Maus anfahren und zur Bestätigen einmal mit der linken Maustaste oder mittels einer definierte Taste, auf der Tastatur, drücken. Nach Ablauf sollte nun innerhalb TextCtrl die angeklickte Position stehen.

Code: Alles auswählen

#!/usr/bin/env python
 
import wx

class MyFrame(wx.Frame):
    def __init__(self, parent,id, title):
       
        wx.Frame.__init__(self, parent, id, title, size=(220,70))
        panel = wx.Panel(self)         
               
        label=wx.StaticText(panel, pos = (10, 10),label="angeklickte Position")
        self.textbox = wx.TextCtrl(panel, pos = (10, 30), size = (85, -1))
        self.button = wx.Button(panel,label = "setzen", pos = (100, 27.5))       
       
        self.button.Bind(wx.EVT_BUTTON, self.mouse_pos)
       
    def mouse_pos(self, event):       
        # wx.EVT_LEFT_DOWN - außerhalb des Fensters ?           
        pos = event.GetPosition()
        self.textbox.Value = str(pos)
     
class MyApp(wx.App):   
    def OnInit(self):
        frame = MyFrame(None, -1, "Position")
        frame.Show(True)       
        self.SetTopWindow(frame)     
        return True

def main():
    app = MyApp()
    app.MainLoop()

if __name__ == "__main__":
    main()

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder