关于列表条目和标签

2024-06-01 22:23:46 发布

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

嗨,我有3个列表:在tkinter窗口中的list1 list2和list3 我想这样做:

我想,每次用户按下“回车”后,他完成了条目写作的标签T1将更改为T2和条目将从文本清除 当用户到达T5时,标签SUB1将更改为SUB2,当用户到达T10时,标签SUB2将更改为SUB3,并且对于列表2中的每个值,也将显示列表3中的1个值。谢谢各位,我希望我问的问题很好,而且切中要害 这是我的代码,我试图显示它,但甚至没有打印功能工作时,我按下输入:

import tkinter as tk 
from tkinter import ttk
import json 
from collections import defaultdict
import pickle

class Language(tk.Tk):
    def __init__(self, *args, **kwargs):

          tk.Tk.__init__(self, *args, **kwargs)
          frame = tk.Frame(self,)
          list1 = ["SUB1","SUB2","SUB3"]
          list2 = [['T1', 'T2', 'T3', 'T4'], ['T5', 'T6', 'T7', 'T8', 'T9'], 
                  ['T10', 'T11', 'T12', 'T13', 'T14', 'T15', 'T16', 'T17']]

          list3 = ['rocket', 'file', 'meth', 'pink', 'jelly', 'say', 'east',  'west']

          if i > len(list1):
              print("the end")
          else:
              for u in range(len(list1)):

                  label_sub = tk.Label(self, text=str(list1[i]) + ":",                                                      bg="green", )
                  label_sub.place(x=100, y=150)
              for b in range(len(list[u])):

                  def add(n):
                      n += 1
                      return n

                  if j > len(list2[b]):
                      i += 1 
                  else:
                      label_time = tk.Label(self, text=str(list2[b][add(j)]) +                                                      ":", bg="green", )
                      label_time.place(x=0, y=200)
                      label_word = tk.Label(self, text=str(list3[b]), 
                                                     bg="green", )
                      label_word.place(x=150, y=250)

                      q_entry = tk.Entry(self)
                      q_entry.bind('<Return>', print("something"))
                      q_entry.place(x=300, y=200)

root = Language() 
root.geometry("612x417") 
root.mainloop()

Tags: 用户importself列表lentkinterplace标签