Сопряжение / привязка массива с динамическим c количество полей ввода в python / tkinter - PullRequest
0 голосов
/ 06 августа 2020

Я сейчас заново учусь программировать на Python. Пока что у меня есть загруженный текстовый файл, он разделен на массив 2D NumPy, из которого я получаю, сколько полей ввода необходимо, чтобы иметь возможность загружать строки, это работает нормально.

Я хотел бы объединить эти поля ввода с массивом, чтобы у меня была кнопка, которая обновит массив, чтобы я мог обновить sh окно добавления или удаления полей ввода в зависимости от того, заполнены ли поля или нет. Если это невозможно, есть ли другой способ обойти это? Заранее спасибо!

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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...