【发布时间】:2021-03-02 16:54:24
【问题描述】:
我正在尝试创建一个允许用户将数据直接复制和粘贴到界面中的 GUI。将有三列,介于 1 - 500 行之间,可能超过 3,000 行原始文本将通过电子邮件、word、PDF 或 excel 提供,因此我需要用户输入字段类似于 excel,因为您可以复制/一次粘贴多于 1 行。
我遵循了一些关于使用 tkinter 创建表格/网格的 YouTube 指南,但是我无法找到一种方法来允许通过复制/粘贴来输入文本。
我发现使用 tkinter 制作表格的唯一方法之一是以下示例,因为 tktable 不是其中的一部分。这仍然不允许用户通过复制/粘贴进行输入。
class Table:
def __init__(self,root):
# code for creating table
for i in range(total_rows):
for j in range(total_columns):
self.e = Entry(root, width=20, fg='blue',
font=('Arial',16,'bold'))
self.e.grid(row=i, column=j)
self.e.insert(END, lst[i][j])
# take the data
lst = [(1,'Raj','Mumbai',19),
(2,'Aaryan','Pune',18),
(3,'Vaishnavi','Mumbai',20),
(4,'Rachna','Mumbai',21),
(5,'Shubham','Delhi',21)]
# find total number of rows and
# columns in list
total_rows = len(lst)
total_columns = len(lst[0])
# create root window
root = Tk()
t = Table(root)
root.mainloop()
任何人都可以建议 tkinter 的替代方法或为我指明此类用户输入的指南方向吗?
【问题讨论】:
-
这很难。除非您可以使用库,否则将需要大量代码。看this。如果这没有帮助,您可以尝试绑定到
Ctrl+v/Ctrl+x/Ctrl+c并自己创建逻辑。 -
使用
ttk.Treeview? -
@CoolCloud - 我正在研究 Treeview 的 YouTube 指南,但想问这个问题;我可以有一列供用户输入吗?
-
我不认为直接通过树视图是可能的,但我想你总是可以使用
Entry接收用户输入,然后用它来制作树视图列。
标签: python excel tkinter input