Seite 1 von 1

Tkinter Schriftgröße ändern

Verfasst: Dienstag 4. Mai 2010, 13:39
von Tidde
Moin Moin!
Ich hab ein kleines Problem mit Tkinter. Ich möchte nämlich bei der Schrift die Größe ändern. Befehle wie

Code: Alles auswählen

button["fontsize"]=30
kennt Tkinter leider nicht. Kann mir da jemand helfen?? Besten Gruß

Tidde[/code]

Verfasst: Dienstag 4. Mai 2010, 13:43
von Pascal
Es gibt ein Tkinter Unterforum

Code: Alles auswählen

button.config(font=('Arial', 30))

Verfasst: Dienstag 4. Mai 2010, 16:23
von Tidde

Code: Alles auswählen

from Tkinter import *
kzaehler=1
def klick(button):
    global kzaehler
    if kzaehler%2 == 0:
        button["background"]="red"
        button["text"]="X"
        button.config(font=("Arial", ))
    else:
        button["background"]="blue"
        button["text"]="O"
        button.config(font=('Arial', 5))
    button["state"]=DISABLED     
    kzaehler=kzaehler+1
fenster=Tk()
f1=Frame(fenster)
f1.pack(side=TOP)
fz=1
for z in range(3):
    fx=Frame(f1)
    fx.pack(side=TOP)
    for y in range(3):
        button=Button(fx)
        button["height"]=11
        button["width"]=20
        button.pack(side=LEFT)
        button["command"]=lambda p1=button: klick(p1)
        fz=fz+1
fenster.mainloop()
Bei mir ändert sich da jetzt auch die Größe der Felder...

Verfasst: Dienstag 4. Mai 2010, 16:55
von numerix
Tidde hat geschrieben:Bei mir ändert sich da jetzt auch die Größe der Felder...
Gewiss - in der Regel ist das auch das gewünschte Verhalten.
Vielleicht beschreibst du mal, was genau du erreichen möchtest, denn dein Code bietet noch einiges Potential für Verbesserungen ...

Verfasst: Dienstag 4. Mai 2010, 20:32
von Pascal

Code: Alles auswählen

import random
import Tkinter as tk
from functools import partial


def groesse_aendern(e, button):
    button.config(font=('Arial', random.randint(5, 20))) 

win = tk.Tk()

buttons = []
for i in range(3):
    button = tk.Button(win, font=('Arial', 10), text=10*'x')
    button.bind('<1>', partial(groesse_aendern, button=button))
    button.grid(row=0, column=i, pady=2, padx=2)


win.mainloop()

code erklärt sich von selbst

Verfasst: Mittwoch 5. Mai 2010, 00:10
von BlackJack
Ich hätte auch noch was:

Code: Alles auswählen

import Tkinter as tk
from functools import partial
from itertools import count


def klick(button, zaehler):
    if zaehler.next() % 2 == 0: 
        button.config(background='red', text='X', font=('Arial', 10))
    else: 
        button.config(background='blue', text='O', font=('Arial', 5))
    button.config(state=tk.DISABLED)


def main():
    fenster = tk.Tk()
    frame = tk.Frame(fenster)
    frame.pack(side=tk.TOP)
    zaehler = count()
    for i in xrange(3): 
        for j in xrange(3):
            button = tk.Button(frame, text=' ', font='Arial 10')
            button.config(command=partial(klick, button, zaehler))
            button.grid(row=i,
                        column=j,
                        ipadx=20,
                        ipady=20,
                        sticky=tk.N+tk.E+tk.S+tk.W)
    fenster.mainloop()


if __name__ == "__main__":
    main()