在 tkinter 中显示文本列表
Display list of text in tkinter
我想在 tkinter
中显示标签编码的结果,就像我在 python 中使用 print
函数显示它一样。
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
df["REPORT_FAMILY"] = le.fit_transform(df["REPORT_FAMILY"])
print("Mapping: ")
for i, item in enumerate(le.classes_):
print(item, "-->", i)
此代码产生如下结果:
Mapping:
ADELBERT SC3000 --> 0
ADELBERT SC3020 --> 1
ALAR --> 2
ALTER EGO SC460 --> 3
ALTER EGO SCV360 --> 4
ARYA --> 5
BEACHCOMBER --> 6
我如何在 tkinter 中做同样的事情?我使用以下代码但收到错误。我的目标是将编码的 REPORT_FAMILY 列显示到 REPORT_FAMILY.
中的相应类别
import tkinter as tk
#creating the window
window = tk.Tk()
window.title("FPY+ Prediction")
canvas1 = tk.Canvas(window, width = 500, height = 300)
canvas1.pack()
t = tk.Text(window)
for i, item in enumerate(le.classes_):
t.insert(item, "-->", i)
t.pack()
window.mainloop()
我收到以下错误:
---------------------------------------------------------------------------
TclError Traceback (most recent call last)
<ipython-input-30-6c09ea2a9048> in <module>
11 canvas1.create_window(200, 300)
12 for i, item in enumerate(le.classes_):
---> 13 t.insert(item, "-->", i)
14 t.pack()
15
~\Anaconda3\lib\tkinter\__init__.py in insert(self, index, chars, *args)
3270 """Insert CHARS before the characters at INDEX. An additional
3271 tag can be given in ARGS. Additional CHARS and tags can follow in ARGS."""
-> 3272 self.tk.call((self._w, 'insert', index, chars) + args)
3273 def mark_gravity(self, markName, direction=None):
3274 """Change the gravity of a mark MARKNAME to DIRECTION (LEFT or RIGHT).
TclError: bad text index "ADELBERT SC3000"
insert
方法的第一个参数需要是一个索引。最常见的是“insert”用于在插入光标处插入,“end”用于在末尾插入。
在索引和要插入的项目之后,下一个参数被解释为标签列表。因此,如果您希望 "-->"
和 i
成为插入文本的一部分,则需要将其作为第二个参数的一部分。
您还需要添加换行符。
t.insert(item, f"{item} --> {i}\n")
我想在 tkinter
中显示标签编码的结果,就像我在 python 中使用 print
函数显示它一样。
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
df["REPORT_FAMILY"] = le.fit_transform(df["REPORT_FAMILY"])
print("Mapping: ")
for i, item in enumerate(le.classes_):
print(item, "-->", i)
此代码产生如下结果:
Mapping:
ADELBERT SC3000 --> 0
ADELBERT SC3020 --> 1
ALAR --> 2
ALTER EGO SC460 --> 3
ALTER EGO SCV360 --> 4
ARYA --> 5
BEACHCOMBER --> 6
我如何在 tkinter 中做同样的事情?我使用以下代码但收到错误。我的目标是将编码的 REPORT_FAMILY 列显示到 REPORT_FAMILY.
中的相应类别import tkinter as tk
#creating the window
window = tk.Tk()
window.title("FPY+ Prediction")
canvas1 = tk.Canvas(window, width = 500, height = 300)
canvas1.pack()
t = tk.Text(window)
for i, item in enumerate(le.classes_):
t.insert(item, "-->", i)
t.pack()
window.mainloop()
我收到以下错误:
---------------------------------------------------------------------------
TclError Traceback (most recent call last)
<ipython-input-30-6c09ea2a9048> in <module>
11 canvas1.create_window(200, 300)
12 for i, item in enumerate(le.classes_):
---> 13 t.insert(item, "-->", i)
14 t.pack()
15
~\Anaconda3\lib\tkinter\__init__.py in insert(self, index, chars, *args)
3270 """Insert CHARS before the characters at INDEX. An additional
3271 tag can be given in ARGS. Additional CHARS and tags can follow in ARGS."""
-> 3272 self.tk.call((self._w, 'insert', index, chars) + args)
3273 def mark_gravity(self, markName, direction=None):
3274 """Change the gravity of a mark MARKNAME to DIRECTION (LEFT or RIGHT).
TclError: bad text index "ADELBERT SC3000"
insert
方法的第一个参数需要是一个索引。最常见的是“insert”用于在插入光标处插入,“end”用于在末尾插入。
在索引和要插入的项目之后,下一个参数被解释为标签列表。因此,如果您希望 "-->"
和 i
成为插入文本的一部分,则需要将其作为第二个参数的一部分。
您还需要添加换行符。
t.insert(item, f"{item} --> {i}\n")