我正在尝试将Python与Tkinter结合使用。我希望有一个numpy数组在GUI中显示为一个带位置号的长行,但我很难弄清楚如何做到这一点。这是我这次行动的职责
def windspeed():
minSpeed2 = float(minSpeed_entry.get()) # Get value from entry box and converts to float float
maxSpeed2 = float(maxSpeed_entry.get())
if minSpeed2 >= maxSpeed2:
tk.messagebox.showinfo("Speed error", "your minimum speed cannot be greater or equal to the max speed") # gives error if max speed is lower than min speed
windspeed2 = wind_speed(minSpeed2,maxSpeed2)
windspeed2 = np.round(windspeed2,3)
shortwindspeed2 = windspeed2[0:10]
speedbox.delete(1.0, tk.END)
speedbox.insert(tk.END, shortwindspeed2) # this is where i think the problem is
现在看起来是这样的:
但是我希望它看起来像这样:
但是在它旁边的数组中的位置
例如:
index 0: 3.8
index 1: 3.9
index 2: 4.0
index 3: 4.1
您希望将numpy数组显示为文本并包含索引
以下代码应该可以解决您的问题:
为了便于复制,我添加了一个
print
语句,您可以在其中放置speedbox.insert(tk.END, windspeed2_readable)
那么,我们在这里干什么?通过
enumerate
语句,我们可以向任何iterable添加索引。请参见此示例:为了得到
windspeed2_readable
,我们对windspeed2_head
中的枚举值进行迭代。我们将当前指数指定给i
,将相应的风速指定给w
。现在,我们使用f字符串将这两个变量转换为字符串:f"index {i}: {w}"
最后,这一部分
为我们提供字符串列表。现在我们只需要用一个换行符
'\n'
作为分隔符来连接它们相关问题 更多 >
编程相关推荐