Frame verzieht sich

Fragen zu Tkinter.
Antworten
Jinkai
User
Beiträge: 2
Registriert: Samstag 21. März 2009, 02:12

Samstag 21. März 2009, 02:17

Hallo liebe Community,

ich bin noch relativ unerfahren im Umgang mit Python und würde daher gerne fragen, warum beim angegebenen Code sich die Größe des Frames ( "Content" )auf die Größe des ScrolledText ( "Update" ) reduziert.

Code: Alles auswählen

        Header = Label(root, fg = 'ivory', font = 'Arial 12', \
                            text = 'Test - Test', \
                            bg = 'royalblue')
        Content = Frame(root, bg = 'white', relief=GROOVE, \
                            width = 435, height = 285, border = 2)
        Update = ScrolledText(Content, height = 20, width = 52, \
                                   bg = 'black')

        Header.pack(padx = 10, pady = 20)
        Content.pack(padx = 10, pady = 10)
        Update.pack(padx = 10, pady = 10)
Ich hoffe, ich habe keine grundlegenden Fehler drinne :oops:
Vielen Dank für jegliche Antworten
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Samstag 21. März 2009, 07:00

Hallo Jinkai, willkommen im Forum!
Jinkai hat geschrieben:ich bin noch relativ unerfahren im Umgang mit Python und würde daher gerne fragen, warum beim angegebenen Code sich die Größe des Frames ( "Content" )auf die Größe des ScrolledText ( "Update" ) reduziert.
Das ist gewolltes Verhalten: Frames sind geschmeidig, werden soweit ausgedehnt, wie die darin enthaltenen Inhalte es erfordern.
Wie hättest du es denn gerne gehabt?

Was deinen Code angeht:
- Alle Wahrscheinlichkeit nach hast du Tkinter über Sternchenimport eingebunden. Das ist keine gute Angewohnheit. Bewährt hat sich:

Code: Alles auswählen

import Tkinter as tk
- Per Konvention werden in Python nur Klassenbezeichner mit Großbuchstaben begonnen (und ggf. Konstanten nur in Großbuchstaben), alle anderen Bezeichner werden nur mit Kleinbuchstaben geschrieben.
Benutzeravatar
wuf
User
Beiträge: 1477
Registriert: Sonntag 8. Juni 2003, 09:50

Samstag 21. März 2009, 08:10

Hallo Jinkai

Hier dein Skript vervollständigt und an PEP-8 angenähert. Für weitere Versuche ausführbar.
Ich weiss meine Farben für Text und Cursor sind ugly:

Code: Alles auswählen

import Tkinter as tk
import ScrolledText as st

root = tk.Tk()

header = tk.Label(root, fg='ivory', font='Arial 12', text='Test - Test',
    bg='royalblue')
header.pack(padx = 10, pady = 20)

content = tk.Frame(root, bg='white', relief=tk.GROOVE, width=435, height=285,
    border=2)
content.pack(padx = 10, pady = 10)

update = st.ScrolledText(content, height=20, width=52, bg='black', fg='yellow',
    insertbackground='green', insertwidth=1)
update.pack(padx = 10, pady = 10)

update.focus_set()

root.mainloop()
Gruss wuf :wink:
Take it easy Mates!
Jinkai
User
Beiträge: 2
Registriert: Samstag 21. März 2009, 02:12

Samstag 21. März 2009, 11:47

Vielen Dank für die Hilfe und auch für das Willkommen =)
Antworten