Tkinter Combobox接受数组作为值

时间:2019-05-29 15:12:39

标签: python list tkinter combobox

我正在Tkinter GUI中使用组合框。设置如下:

list = np.arange(10)
var = IntVar(value=list[0])
box = ttk.Combobox(root, textvariable=var, value=list)

它按预期工作;但是只有一个问题-对于下拉列表的第一个和最后一个值,方括号附加到整数上。

您可以从以下位置看到它:

box['values']

此输出为:

('[0', '1', '2', '3', '4', '5', '6', '7', '8', '9]')

您可以查看出现问题的原因,请检查框['values']中的第一个和最后一个字符串字符。

我需要删除它,因为我将组合框值直接用作另一个数组的索引位置。因此,当选择列表的第一个/最后一个元素时,会产生错误。

1 个答案:

答案 0 :(得分:0)

您可以先通过tolist()将numpy数组转换为列表。

import tkinter as tk
from tkinter import ttk
import numpy as np

root = tk.Tk()
list = np.arange(10).tolist()

box = ttk.Combobox(root, value=list)
box.pack()

root.mainloop()