tkinter: Int-Werte aus Entries einlesen
Verfasst: Mittwoch 27. Mai 2020, 17:02
Hallo,
ich würde gerne die Integer-Werte aus Entries einlesen (durch die function readin()).
Die function SquareCreate() erzeugt die Entries und verknüpft sie mit IntVar() (habe darüber gelesen, kenne mich aber noch nicht sehr aus).
Ich habe 'place' verwendet, weil das die einzige Möglichkeit ist, die ich kenne, quatratische Entries hinzubekommen.
In Zeile 24 heißt es "list index out of range".
Was kann ich tun um erfolgreich die Werte aus den Entries einzulesen und in der Liste "bo" zu speichern?
Muss ich die Liste "sq" an readin() übergeben?
(z=SquareCreate()
readin(z)
klappt nicht)
Vielen Dank für die Hilfe im Voraus!!
kwon
ich würde gerne die Integer-Werte aus Entries einlesen (durch die function readin()).
Die function SquareCreate() erzeugt die Entries und verknüpft sie mit IntVar() (habe darüber gelesen, kenne mich aber noch nicht sehr aus).
Ich habe 'place' verwendet, weil das die einzige Möglichkeit ist, die ich kenne, quatratische Entries hinzubekommen.
In Zeile 24 heißt es "list index out of range".
Was kann ich tun um erfolgreich die Werte aus den Entries einzulesen und in der Liste "bo" zu speichern?
Muss ich die Liste "sq" an readin() übergeben?
(z=SquareCreate()
readin(z)
klappt nicht)
Vielen Dank für die Hilfe im Voraus!!
kwon
Code: Alles auswählen
import tkinter as tk
from tkinter import Entry, IntVar, Tk
def quit_frame():
main.destroy()
def SquareCreate():
sq=[]
for j in range(1,4):
for i in range(1,4):
t = tk.Entry(main, textvariable=IntVar(), justify="center",font=("Arial",16))
t.place(x=i*40, y=j*40, width=40, height=40)
t.delete(0)
sq.append(IntVar())
return sq
def readin(sq):
sq=[]
bo=[]
for r in range(1,4):
row=[]
for c in range(1,4):
row.append(sq[r*9+c].get())
bo.append(row)
return bo
#mainprogramm
main = tk.Tk()
main.geometry("500x540")
main.resizable(width=0, height=0)
l=tk.Label(main, text="Sudoku Bruteforce Solver")
l["font"]="Arial"
l.place(x=150,y=0)
button1=tk.Button(main, text="quit", command = quit_frame)
button1.place(x=50,y=450)
button2=tk.Button(main, text="readin", command = readin)
button2.place(x=150,y=450)
SquareCreate()
main.mainloop()