2 Entrys und eine Markierung

Fragen zu Tkinter.
Antworten
Tux
User
Beiträge: 70
Registriert: Freitag 8. November 2002, 23:07
Kontaktdaten:

Hi @ll!

Wie so gut wie immer: Tkinter!
So leid es mir tut - es muss im Windo**s laufen!

Ich habe 2 Entrys! Nun markiere ich mit der Maus den Text eines Entrys! Wie kann ich nun herausfinden, wie der markierte Text heißt (wenn ich auf nen Button klicke)???
Ich kann nur in einem Entry Text markieren (auch gut so)!

Wie bekomme ich nun den markierten Text? Der Vorgang sollte wiederholbar sein! Mehere Entrys!

Danke schon mal...

ICH
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Moin!

Wie ich schon unter http://python.sandtner.net/viewtopic.php?t=285 schrieb, musst Du selection_own() benutzen, wenn Du den markierten Text eines bestimmten Entry-Widgets haben willst. Wenn Du das nicht willst, lässt Du selection_own() einfach weg. Über welches Widget-Objekt Du dann selection_get() aufrufst, ist dann völlig egal.

Jan
Tux
User
Beiträge: 70
Registriert: Freitag 8. November 2002, 23:07
Kontaktdaten:

Hi Voges!

Ich habe das ja schon versucht! Er liest immer nur das 1. Entry aus! Wenn dort nichts markiert ist, dann macht er es ja nicht!

Trotzdem Danke
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Hmm, bei mir funktioniert's:

Code: Alles auswählen

from Tkinter import *
root = Tk()

def getsel():
    try:
        selText.set(entr1.selection_get())
#        selText.set(root.selection_get())
    except TclError:
        pass

entr1 = Entry(root); entr1.pack()
entr2 = Entry(root); entr2.pack()
entr3 = Entry(root); entr3.pack()
Button(root,text="getsel",command=getsel).pack()
selText = StringVar()
Label(root,textvariable=selText).pack()

root.mainloop()
Bei Buttondruck bekomme ich den markierten Text, egal in welchem der drei Entry-Widgets er steht.
Jan
Tux
User
Beiträge: 70
Registriert: Freitag 8. November 2002, 23:07
Kontaktdaten:

Hi Voges!

Danke!

Ich werds nochmal testen! Wenns bei dir geht, muss ich es bei mir ja auch irgendwie hinbekommen!

ICH

ps: Ist die eine Raute vor dem selText absicht???
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Tux hat geschrieben:ps: Ist die eine Raute vor dem selText absicht???
Ja. Das Auskommentierte ist vielleicht die lesbarere Variante zur Zeile davor.
Jan

PS: Grrrr, warum bekomme ich bei fast jedem "Absenden" die Meldung 'Invalid_session'? Also, nochmal anmelden.
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Hi Voges,

da scheint der Timeout für die Gültigkeit einer Session im Fourm etwas knapp eingestellt zu sein.


Gruß

Dookie
piddon
Gründer
Beiträge: 410
Registriert: Dienstag 30. Juli 2002, 18:03
Wohnort: Oestrich-Winkel
Kontaktdaten:

Seltsam. Diese Probleme habe ich jetzt nicht. Welcher Browser wird denn benutzt? Evtl holt er "zuviel" aus dem Cache, wie z.B. die Session. Aber erklären kann ich mir das jetzt nicht. Denn das Timeout steht ziemlich hoch. (eine stunde) und solange schreibt keiner oder?
irc: #python.de @ irc.freenode.net | [url=http://pythonwiki.pocoo.org]python-wiki[/url] | [url=http://www.pythonwiki.de/PythonDeForum/Faq]python-forum FAQ[/url]
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Hallo!
Im Prinzip hat sich zu den Zeiten, als ich hin und wieder einfach kommentarlos rausflog, nichts geändert. Nur das jetzt vorher noch das "invalid session" kommt. An einem Timeout kann es nicht liegen, denn in der Regel schreib' ich (zumindest längere) Beiträge vorher in einem Editor meines Vertrauens und pack' sie dann hier per C'n'P rein.
Was hab' hier? Mozilla 1.1, W2K. Mit anderen, Cookies nutzenden Seiten (z.B. Amazon) habe ich keine Probleme. Naja, ich kann mit leben.
Jan
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Hi,

ich nutze galeon - Mozilla-Abkömmling.
Autologin haut auch nicht hin, muss immer händisch einloggen. Das mit dem Invalid-Session kommt meist wenn ich längere Texte schreibe.


Gruß

Dookie
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

komisch, wirklich. Ich surf mit allen gängigen Browsern (IE, Opera, Mozilla, Netscape und konqueror) und hab bei keinem ein Problem. Allerdings benutz ich nur in Opera und IE den autologin, weil ich die bei mir zu hause habe, den rest nutz ich von der Schule aus... *schulterzuck* keine Ahnung woran das bei dir liegen kann...
hans
User
Beiträge: 728
Registriert: Sonntag 22. September 2002, 08:32
Wohnort: Sauerland
Kontaktdaten:

Mit den älteren Mozillaversionen hatte ich auch so meine Probleme. So ab 1.2 finde ich Mozilla annehmbar. Aktuell arbeite ich mit 1.3b unter Linux (RedHat 8.0 oder was davon noch übrig ist).

Hans
Tux
User
Beiträge: 70
Registriert: Freitag 8. November 2002, 23:07
Kontaktdaten:

Code: Alles auswählen

from Tkinter import *
root = Tk()

def getsel():
  try:
    selText.set(entr1.selection_get())
#    selText.set(root.selection_get())
  except TclError:
    pass

entr1 = Entry(root); entr1.pack()
entr2 = Entry(root); entr2.pack()
entr3 = Entry(root); entr3.pack()
Button(root,text="getsel",command=getsel).pack()
selText = StringVar()
Label(root,textvariable=selText).pack()

root.mainloop()
:arrow: das funktioniert ausgezeichnet!

Doch ist es möglich herauszufinden, wo sich der Text befindet (welches Entry und wo in dem Entry)? Wenn ja, wie ist das möglich?

Danke
Pythonaya
User
Beiträge: 90
Registriert: Sonntag 26. Januar 2003, 11:34
Wohnort: Großbeeren (nahe Berlin)

Hi @u2,
da ihr ja jetzt schon echte Markier-Profis seid,
hab ich auch mal eine kleine Frage zum Topic...

Nehmen wir an, ich will mit Tkinter unter Win
den Index der Markierung eines Textwidgets
haben?

Wie mache ich das?


THX, MFG,
Florian
Pythonaya
User
Beiträge: 90
Registriert: Sonntag 26. Januar 2003, 11:34
Wohnort: Großbeeren (nahe Berlin)

Oops,
ich habs schon!
Danke trotzdem... *gg*

Ich wusste ja nich, dass er für das selektierte einen Tag erstellt
Cool


MFG,
Flo
Antworten