Tkinter unter Pythwonwin

Fragen zu Tkinter.
Antworten
Black Dragon

hi leuts.

ich hab en problem (wie so fast alle hier in dem forum ( :D :o 8) ))
und zwar programmier ich in pythonwin und will nun meinen programmen en gui geben.

hab schon gelesen das tkinter für sowas da sein soll hab mir auch shcon einige beispiele und so weiter angeschaut. bloß alle funktionen aufrufe von tkinter funktionieren bloß in der normalen python.exe und nicht im pythonwin. der übergeht praktisch die anweisungen ohne auch nur im geringsten en fenster zu öffnen.

(die frage stelle ich mir öfters:) WARUM?
Redprince
User
Beiträge: 128
Registriert: Freitag 22. Oktober 2004, 09:22
Wohnort: Salzgitter
Kontaktdaten:

Moinsen...
Also bei mir funktioniert Tkinter in PythonWin ohne Probleme (PythonWin 2.4.1 und Python 2.4 auf Windows 2000). Rück doch ein wenig Code heraus ;)
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Hi!

Ich kenn PythonWin nicht, aber ich schätze mal, dass es selbst eine Tkinter-Anwendung ist. Da kann es zu Problemen kommen, wenn Du daraus Tkinter aufrufst (so wie bei idle).

Gruß, mawe
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

mawe hat geschrieben:Ich kenn PythonWin nicht, aber ich schätze mal, dass es selbst eine Tkinter-Anwendung ist.
Nein, PythonWin ist eine MFC Anwendung.. was es aber nicht besser macht ;)

Nichts geht über die Kombination SciTe + gute Shell :P
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Black Dragon

Code: Alles auswählen

from Tkinter import *

root=Tk()
lab=Label(root,text="Bitte die ID eingeben!")
lab.pack(side=TOP)
eingabe = Entry(width=20)
eingabe.pack(side=BOTTOM)
def hole():
     s=eingabe.get()
but = Button(text='Start', command = hole)
but.pack(side = BOTTOM)
ganz einfacher code meiner auffasung nach.

EDIT by mawe: Code in python-tags gesetzt
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Da fehlt ein root.mainloop() ;)
Black Dragon

hatte ich auch am anfang gedacht, wenn ich das aber eingebaut hatte. hat der das Fenster mehrere male geöffnet und ist dann schließlich abgestürzt.
Inzwischen macht ers jetzt auch normal. aber manschmal öffnet der das immer noch mehrere male. weiß jemand woran das liegt?
is doch scheiße wenn das programm manschmal funzt und manschmal net.

:?
gruß und danke
black dragon
nbkr
User
Beiträge: 28
Registriert: Montag 30. Mai 2005, 11:32

Black Dragon hat geschrieben: is doch scheiße wenn das programm manschmal funzt und manschmal net.
Wieso? M$ hat einen ganze Unternehmenskultur darauf aufgebaut.


SCNR :lol:
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Geht ohne Probleme:

Code: Alles auswählen

#!/usr/bin/env python
# -*- encoding: latin-1 -*-
import Tkinter as tk

root = tk.Tk()
lab = tk.Label(root,text="Bitte die ID eingeben!")
lab.pack(side=tk.TOP)
eingabe = tk.Entry(width=20)
eingabe.pack(side=tk.BOTTOM)

def hole():
    s = eingabe.get()
    
but = tk.Button(text='Start', command = hole)
but.pack(side = tk.BOTTOM)

root.mainloop()
Wobei ich eine ganz normale Shell nutze und weder IDLE noch Pythonwin sondern einen Editor der sich schon oft bewährt hat: SciTE.

Edit: Code gefixt.
Zuletzt geändert von Leonidas am Montag 25. Juli 2005, 16:52, insgesamt 1-mal geändert.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Naja Leonidas, ob das hilfeich ist? ;)
Schliesslich hat Black Dragon ja geschrieben, dass das Script läuft, nur eben mit pythonwin nicht.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

mawe hat geschrieben:Naja Leonidas, ob das hilfeich ist? ;)
Schliesslich hat Black Dragon ja geschrieben, dass das Script läuft, nur eben mit pythonwin nicht.
Nunja, ich habe immerhin den Code neu formatiert 8)

Also in meinem PythonWin für Py 2.4 build 204 funktioniert es (also mit meinem Code). Jedoch ist PythonWin nicht ein Editor der mich beeindruckt ;)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Ja, formatiert hast Du den Code sehr schön, das muss ich neidlos anerkennen :D
Black Dragon

naja über microschrott brauchen wir nicht reden oder?
und du hast recht leonidas der code is vollkommen richtig(und wunderschön formatiert) aber warum öfnnet der manschmal mehrere fenster wo teile davon sind was eigentlich im großen normalen fenster sein sollte. das passiert zwar bloß in 10% der fälle aber ist doch trotzdem scheiße.

:oops:
gruß Black Dragon
Black Dragon

hey ho
schonwieder ich.
mit ner neuen frage! :D
wie kann ich den die Zeichen einer Eingabe zählen?
irgendwie mit

Code: Alles auswählen

e=entry.get(count) oder wie?
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Die Länge einer Zeichenkette (und damit die Anzahl der Zeichen) erhälst Du mit ... len() ;)
Black Dragon

:oops: :oops: :!: :cry:
stimmt auffallend -.-
thx
Antworten