python - 在 python/tkinter 中配对/绑定具有动态数量的条目字段的数组
问题描述
我目前正在重新学习如何用 Python 编程。到目前为止,我已经加载了一个文本文件,它拆分为一个 2D NumPy 数组,从中我得出需要多少个输入字段才能加载字符串,这很好用。
我想做的是将这些输入字段与数组配对,这样我就可以有一个按钮来更新数组,这样我就可以根据字段是否填充来刷新窗口添加或删除输入字段。如果这不可能,还有其他方法吗?提前致谢!
from tkinter import *
import math as m
import numpy as np
from numpy import loadtxt
#Import Todo List
lines = loadtxt("Todofile.txt", dtype="object", delimiter="\n")
TDHead=np.array(lines[0::2])
TDSub=np.array(lines[1::2])
length=len(TDHead)
TDFull=np.empty((length,2), dtype="object")
#Sort Todo list into Arrays (Done to make editing easier when placed in GUI)
count=0
while count != length:
TDFull[count,0]=TDHead[count]
TDFull[count,1]=TDSub[count]
count +=1
root = Tk()
root.title("Todo List")
TDframe=Frame(root)
TDframe.pack()
a=0
for x in range (length):
EntryHead = Entry(TDframe, width=50)
SLabel = Label(TDframe, text="Title: ")
SLabel.grid(row=a, column=0)
EntryHead.grid(row=a, column=1, pady=0,padx=5)
EntryHead.insert(0,TDFull[x,0])
EntrySub = Entry(TDframe, width=50)
SLabel = Label(TDframe, text="Description: ")
SLabel.grid(row=a+1, column=0)
EntrySub.grid(row=a+1,column=1, pady=0,padx=5)
EntrySub.insert(0,TDFull[x,1])
a=a+3
UIHID=Label(TDframe, text="Enter New Task: ") .grid(row= a,column=0)
UIH= Entry(TDframe, width=50) .grid(row=a, column=1)
UISID=Label(TDframe, text="Describe Task: ") .grid(row= a+1, column=0)
UIS= Entry(TDframe, width=50) .grid(row= a+1, column=1)
UIB= Button(TDframe, text="Add New Item" command=resort) .grid(column=0)
def resort():
pass
root.mainloop()
解决方案
推荐阅读
- android - 将事件添加到三星日历
- azure - 远程调试在 Azure App Services For Containers 中运行的 .net 核心应用
- javascript - 如何在 Nodejs 上使用 readlineSync
- node.js - Clojurescript - 从本机模块正确调用承诺
- command-line - 如何在 vscode 中创建一个带有 org 的颤振项目?
- c++ - 从数组中删除元素并计算总和
- c++ - 排序数组并匹配其他数组
- python - 如何从 QWiget 获取信号以更改获取对象?
- python - 如何从 sphinx napoleon 和 numpy 样式文档中获得与默认 rst 方式相同的输出?
- python - 在 python3 上使用 playsound 播放音频时出现问题