如何解决如何从python中的自动创建行获取数据
我想从任何行或所有键入并包含文本的行中获取数据
我想在多行this photo
时抓取数据如何从每一行(行再见)获取数据
我可以得到所有的行并将其放在列表或数据库中吗??
from tkinter import *
from tkinter.messageBox import *
class add_new_radio:
def __init__(self,toplevel):
self.toplevel = toplevel
self.All_widgets()
self.toplevel.mainloop()
def All_widgets(self):
self.med_name = StringVar()
self.label_row_general = Intvar()
self.label_row_general.set(0)
self.med_ajouter(self.label_row_general.get())
def ajouter_plus(self):
self.add_btn.grid_forget()
self.cancel_btn.grid_forget()
self.confirme_btn.grid_forget()
self.print_btn.grid_forget()
self.nbr = self.label_row_general.get()+1
self.label_row_general.set(self.nbr)
self.med_ajouter(self.nbr)
def med_ajouter(self,row_nbr):
self.label_row = row_nbr
Label(self.toplevel,text="Name").grid(
row=self.label_row,column=0,padx=5,pady=5)
Label(self.toplevel,text="Date").grid(
row=self.label_row,column=2,text="From").grid(
row=self.label_row,column=4,text="Qt/j").grid(row=self.label_row,column=6,pady=5)
self.medicament_entry = Entry(self.toplevel,text=self.med_name)
self.date_entry = Entry(self.toplevel)
self.duree_entry = Entry(self.toplevel)
self.qt_j_entry = Entry(self.toplevel)
self.medicament_entry.grid(
row=self.label_row,column=1,pady=5)
self.date_entry.grid(row=self.label_row,column=3,pady=5)
self.duree_entry.grid(row=self.label_row,column=5,pady=5)
self.qt_j_entry.grid(row=self.label_row,column=7,pady=5)
self.add_btn = Button(self.toplevel,text="Plus",command=self.ajouter_plus)
self.add_btn.grid(row=self.label_row,column=8,pady=5,ipadx=15)
self.cancel_btn = Button(self.toplevel,text="Annuler")
self.confirme_btn = Button(
self.toplevel,text="Ajouter")
self.print_btn = Button(self.toplevel,text="Imprimer")
self.cancel_btn.grid(row=self.label_row+1,ipadx=15)
self.confirme_btn.grid(row=self.label_row+1,ipadx=15)
self.print_btn.grid(row=self.label_row+1,ipadx=15)
if __name__ == '__main__':
add_new_radio(Tk())
谢谢
解决方法
要从表中获取数据,您需要保留对条目小部件的引用。最好的方法是使用列表,您可以在 __init__
函数中创建该列表:
def __init__(self,toplevel):
self.toplevel = toplevel
self.entry_list = []
...
然后在 med_adjouter
中,您可以将它们添加到列表中:
...
self.qt_j_entry = Entry(self.toplevel)
self.entry_list.append([self.medicament_entry,self.date_entry,self.duree_entry,self.qt_j_entry])
self.medicament_entry.grid(
...
然后当你想从他们那里获取值时,你可以通过列表并像这样获取它们:
def get_data(self):
data = []
for row in self.entry_list:
row_values = []
for col in row:
row_values.append(col.get())
data.append(row_values)
print(data) #You can then use this list to do other things
然后可以使用 data
列表将数据放入数据库或其他任何您想用它做的事情。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。