Tkinter unter Pythwonwin

Fragen zu Tkinter.
Black Dragon

Tkinter unter Pythwonwin

Beitragvon Black Dragon » Freitag 22. Juli 2005, 13:06

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:

Beitragvon Redprince » Freitag 22. Juli 2005, 13:56

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])

Beitragvon mawe » Freitag 22. Juli 2005, 16:25

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
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Freitag 22. Juli 2005, 17:13

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 Modvoice
Black Dragon

Beitragvon Black Dragon » Montag 25. Juli 2005, 07:48

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])

Beitragvon mawe » Montag 25. Juli 2005, 08:50

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

Beitragvon Black Dragon » Montag 25. Juli 2005, 13:32

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

Beitragvon nbkr » Montag 25. Juli 2005, 14:43

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:
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Montag 25. Juli 2005, 16:30

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 Modvoice
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Beitragvon mawe » Montag 25. Juli 2005, 16:36

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

Beitragvon Leonidas » Montag 25. Juli 2005, 16:54

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 Modvoice
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Beitragvon mawe » Montag 25. Juli 2005, 18:20

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

Beitragvon Black Dragon » Dienstag 26. Juli 2005, 07:50

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

Beitragvon Black Dragon » Mittwoch 27. Juli 2005, 13:39

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])

Beitragvon mawe » Mittwoch 27. Juli 2005, 15:39

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

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder