Tkinter Schriftgröße ändern

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Tidde
User
Beiträge: 3
Registriert: Mittwoch 24. Februar 2010, 16:09

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]
Pascal
User
Beiträge: 271
Registriert: Samstag 4. April 2009, 22:18

Es gibt ein Tkinter Unterforum

Code: Alles auswählen

button.config(font=('Arial', 30))
Tidde
User
Beiträge: 3
Registriert: Mittwoch 24. Februar 2010, 16:09

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...
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

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 ...
Pascal
User
Beiträge: 271
Registriert: Samstag 4. April 2009, 22:18

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
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()
Antworten