如何使用Tkin限制条目小部件中的符号数

2024-09-25 02:34:16 发布

您现在位置:Python中文网/ 问答频道 /正文

你好,我试着在循环中这样做,但不明白为什么只有最后创建的一个是唯一一个限制?我想将循环中创建的12个小部件限制为4个符号。有人能帮我吗?:3个

对不起,如果有什么不清楚的地方,我第一次问这个问题。你知道吗

from tkinter import *
import trace
import random


class Plansza:

    def __init__(self, master):


        self.frame = Frame(master, bg="brown")
        self.frame.pack()
        self.tab = [random.randint(1, 6),random.randint(1, 6),random.randint(1, 6),random.randint(1, 6)]
        print(self.tab)
        print(len(self.tab))
        self.max_len = 4

        self.wynik = StringVar()
        self.wynik.set(self.tab)

        self.goal = Entry(self.frame, width=6, font=50, fg="purple", justify=CENTER, textvariable=self.wynik, show="*")
        self.goal.grid(row=0, column=1, padx=30, pady=30)

        self.pokaz = Button(self.frame, text = "Pokaż", command=self.show)
        self.pokaz.grid(row=0, column=2)
        self.wiersz=1
        print(self.wynik.get())
        self.var = [1,1,1,1,1,1,1,1,1,1,1,1]
        self.iter = 0
        self.map()

        self.sprawdz = Button(self.frame, text = "Sprawdź")
        self.sprawdz.grid(row=self.wiersz+1, column=1, padx=50, pady=50)



    def on_write(self, *arg):
        s = self.var[self.iter].get()
        if len(s) > self.max_len:
            self.var[self.iter].set(s[:self.max_len])


    def show(self):
        self.goal.config(show="")

    def map(self):
        self.var[self.iter]=StringVar()
        self.var[self.iter].trace_variable("w", self.on_write)

        self.pole_na_odp = Entry(self.frame, width=6, font=50, fg="purple", justify=CENTER, textvariable=self.var[self.iter])
        self.pole_na_odp.grid(row=self.wiersz, column=1, padx=20, pady=20)
        self.wiersz+=1
        self.var.append([])
        self.iter+=1
        if(self.wiersz<12):
            self.map()

root = Tk()
b = Plansza(root)


root.mainloop()

[编辑]我做了一个列表,但现在我有另一个错误: 每当我想在我的条目小部件中键入一些内容时,我都会遇到如下错误:

s = self.var[self.iter].get()
AttributeError: 'int' object has no attribute 'get'

而且,即使在最后一个条目窗口小部件中,也不再限制唱歌的次数。你知道吗


Tags: selflenvardefshowcolumnrandomframe