zwischenablage auslesen

Fragen zu Tkinter.
Antworten
ice
User
Beiträge: 23
Registriert: Dienstag 7. März 2006, 12:05

kann mir jemand helfen . wie kann ich mit python die zwischenablage auslesen ? das einbuinden in mein fenster ist dann kein problem mehr !!

suche jetzt seit 2 tage und komme nicht weiter . brauche das aber dringend für ein projekt ,.

ich hoffe es kann jenmand helfen


gruß und dank ice
Benutzeravatar
Mr_Snede
User
Beiträge: 387
Registriert: Sonntag 8. Februar 2004, 16:02
Wohnort: D-Dorf, Bo

Hat dir dieser Beitrag:
http://www.python-forum.de/viewtopic.ph ... chenablage
nicht weitergeholfen?

cu Sebastian
ice
User
Beiträge: 23
Registriert: Dienstag 7. März 2006, 12:05

guten morgen den hatte ich schon gefunden der hilft aber nix da ich auslesen
will und nicht in die zwischenablage kopieren .
und zu sagen der user des programms soll strg+v nehmen ist etwas billig .

noch ne idee ?


gruß ice
Benutzeravatar
Mr_Snede
User
Beiträge: 387
Registriert: Sonntag 8. Februar 2004, 16:02
Wohnort: D-Dorf, Bo

kannst du bitte etwas genauer beschreiben, wie der Bedienungsablauf für den Benutzer aussehen soll?
Wo kommten die Daten für die Zwischenablage her,
wie kommen die da rein,
wo sollen die Daten eingefüegt werden?


cu Sebastian

PS: Ändert zwar nichts an deinem Problem, aber schade, dass STRG+v keine Option ist.
ice
User
Beiträge: 23
Registriert: Dienstag 7. März 2006, 12:05

die daten werden von einem scannerstift in die zwischenablage kopiert (eingefügt)
das funktioniert gut kann die daten mit paste auch überall ( word usw )einfügen.
diese daten will ich dann in ein text-fenster ausgeben und als txt speichern.
dazu muß ich sie aber aus der zwischenablage auslesen


gruß mike
Benutzeravatar
Mr_Snede
User
Beiträge: 387
Registriert: Sonntag 8. Februar 2004, 16:02
Wohnort: D-Dorf, Bo

Ah cooles Projekt.

Code: Alles auswählen

import Tkinter

def make_menu(w):
   global the_menu
   the_menu = Tkinter.Menu(w, tearoff=0)
   the_menu.add_command(label="Cut")
   the_menu.add_command(label="Copy")
   the_menu.add_command(label="Paste")

def show_menu(e):
   w = e.widget
   the_menu.entryconfigure("Cut",
      command=lambda: w.event_generate("<<Cut>>"))
   the_menu.entryconfigure("Copy",
      command=lambda: w.event_generate("<<Copy>>"))
   the_menu.entryconfigure("Paste",
      command=lambda: w.event_generate("<<Paste>>"))
   the_menu.tk.call("tk_popup", the_menu, e.x_root, e.y_root)

t = Tkinter.Tk()
make_menu(t)

e1 = Tkinter.Entry(); e1.pack()
e2 = Tkinter.Entry(); e2.pack()
e1.bind_class("Entry", "<Button-3><ButtonRelease-3>", show_menu)

t.mainloop()
Fundstelle
Benutze die Rechte Maustaste zum Ausprobieren.

Lösungsansatz:
<<Paste>> in einen Thread packen, der regelmäßig dein Textwidget aktualisiert.

cu Sebastian
jAN
User
Beiträge: 170
Registriert: Samstag 4. Juni 2005, 18:51
Wohnort: Großmehlra (in Thüringen)
Kontaktdaten:

das Tk-widget von Tkinter hat eine methode clipboard_append("String")

vielleicht kannst du damit was anfangen[/code]
#adios.py
import os,sys
while 1: os.startfile(sys.argv[0])
ice
User
Beiträge: 23
Registriert: Dienstag 7. März 2006, 12:05

vielen dank für die hilfe .. habe das problem jetzt gelöst hier das code bsp :

Code: Alles auswählen

import win32clipboard as w 
import win32con,re

w.OpenClipboard() 
        d=w.GetClipboardData(win32con.CF_TEXT) +"  \n"
        textfenster.insert(END,d)
        w.CloseClipboard()
aber neue probleme tuen sich auf .. wie beende ich eine in einem tk geöffnette exe wieder ?

gruß ice

Edit (Leonidas): Code in Python-Tags gesetzt.
Benutzeravatar
Mr_Snede
User
Beiträge: 387
Registriert: Sonntag 8. Februar 2004, 16:02
Wohnort: D-Dorf, Bo

ice hat geschrieben:aber neue probleme tuen sich auf .. wie beende ich eine in einem tk geöffnette exe wieder ?
Mach dafür besser einen neuen Thread auf und zeige uns den Quellcode.

Bitte setze dein Quellcode oben in Python Tags, dann werden auch die Einrückungen richtig angezeigt.

cu Sebastian
Benutzeravatar
Michael Schneider
User
Beiträge: 569
Registriert: Samstag 8. April 2006, 12:31
Wohnort: Brandenburg

ice hat geschrieben:kann mir jemand helfen . wie kann ich mit python die zwischenablage auslesen ? das einbuinden in mein fenster ist dann kein problem mehr !!

suche jetzt seit 2 tage und komme nicht weiter . brauche das aber dringend für ein projekt ,.

ich hoffe es kann jenmand helfen


gruß und dank ice
Hallo ice,

eigentlich wollte ich DIR eben die Antwort schreiben, bin aber irgendwie in den falschen Thread gerutscht, sorry.
Zufälligerweise bin ich vor ebenfalls ca. zwei Wochen, beim Schmökern in "Das Python-Buch", auf eine genial einfache Lösung gestoßen, um die Zwischenablage in Tkinter (sowohl unter Windows als auch unter UNIX) auszulesen. Du findest meinen Artikel hier:
http://www.python-forum.de/viewtopic.php?p=34856#34856

Der Schlüssel ist:
:arrow: entry.selection_get(selection="CLIPBOARD")

Wenn möglich würde ich gern mit Dir in Kontakt treten, da auch ich eine Python-Scanner Anwendung plane und mich gern mit Dir austauschen würde.

Vielen Dank,
der Michel (sky)
Diese Nachricht zersört sich in 5 Sekunden selbst ...
Antworten