python - tkinter tutorial




Fügen Sie Checkboxen mit tkinter in Python 2.7 dynamisch hinzu (2)

Ich möchte über eine vorgefertigte Liste die Checkboxen dynamisch zu meinem GUI hinzufügen. Wie würde ich die GUI mit den Namen in meiner Liste füllen? Sie alle haben die gleiche Art von Funktionalität, so dass dies kein Problem sein sollte.


Wenn Sie beim Start Ihre GUI mit einer vorgefertigten Liste füllen möchten:

from Tkinter import *

root = Tk()

premadeList = ["foo", "bar", "baz"]

for checkBoxName in premadeList:
    c = Checkbutton(root, text=checkBoxName)
    c.pack()

root.mainloop()

Wenn Sie Ihre GUI zur Laufzeit dynamisch mit Checkboxen füllen wollen:

import random
import string
from Tkinter import *

root = Tk()

def addCheckBox():
    checkBoxName = "".join(random.choice(string.letters) for _ in range(10))
    c = Checkbutton(root, text=checkBoxName)
    c.pack()

b = Button(root, text="Add a checkbox", command=addCheckBox)
b.pack()

root.mainloop()

Und natürlich können Sie beides tun:

import random
import string
from Tkinter import *

root = Tk()

def addCheckBox():
    checkBoxName = "".join(random.choice(string.letters) for _ in range(10))
    c = Checkbutton(root, text=checkBoxName)
    c.pack()

b = Button(root, text="Add a checkbox", command=addCheckBox)
b.pack()

premadeList = ["foo", "bar", "baz"]

for checkBoxName in premadeList:
    c = Checkbutton(root, text=checkBoxName)
    c.pack()

root.mainloop()







tk