创建一个生成新列表的交互式Python GUI

时间:2013-07-02 13:38:33

标签: python user-interface tkinter interactive

我正在尝试创建一个python GUI,它获取我创建的列表并将列表项填充到GUI上。然后,该GUI将使用户能够选择列表中的项目并将其移动到另一个列表。

因此,列表项将在GUI中从一个“表”(table1)可视地移动到另一个“table”(table2)。两个表之间的两个按钮带有箭头,使用户能够在两个列表之间来回移动项目。最后有一个“继续”按钮,当用户完成选择时,它会将table2中的所有项目添加到新列表中。

对于TKinter来说这是可能的吗?如果有的话,是否有人知道有关如何这样做的任何好的教程?这个应用程序的其他模块会更容易吗?

1 个答案:

答案 0 :(得分:2)

您要使用的小部件称为列表框。以下是effbot

的摘录
from Tkinter import *

master = Tk()

listbox = Listbox(master)
listbox.pack()

listbox.insert(END, "a list entry")

for item in ["one", "two", "three", "four"]:
    listbox.insert(END, item)

mainloop()

不幸的是,我找不到在两个不同的列表框之间移动两个项目的任何示例。

经过一段时间的游戏后,我想出了这个例子,它允许你在两个不同的列表框之间移动文本。

from Tkinter import *

master = Tk()

listbox = Listbox(master)
listbox.pack()

listbox2 = Listbox(master)

def moveDown():

    move_text = listbox.selection_get()
    curindex = int(listbox.curselection()[0])
    listbox.delete(curindex)
    listbox2.insert(END, move_text)

moveBtn = Button(master, text="Move Down", command=moveDown)
moveBtn.pack()


listbox2.pack()

for item in ["one", "two", "three", "four"]:
    listbox.insert(END, item)

mainloop()