python-3.x - 如何更新 tksheet 中的窗口(表)表?
问题描述
您好朋友,我如何更新 tksheet 中的窗口。我有一个数据库。它连接到 Postgresql 并提取数据。此外,我可以选择数据的日期,从哪个日期开始。开始后,我选择日期并单击“获取数据”按钮。显示第一次。第一次之后,数据并没有输出到界面,而是显示在控制台中。您无法再次选择日期并将其显示在界面上。我认为您需要尽快更新窗口。
def sec_frame(self):
global date_from1, date_from2
sec_frame1 = Frame(self.master, background='#21acfc', )
sec_frame1.pack()
query_button = tk.Button(sec_frame1, text='Get data', width=200, command=self.get_datas)
query_button.pack(side=LEFT, padx=50, pady=40)
date_from1 = DateEntry(sec_frame1, background='#e03aca', font="Helvetica 14", locale='KY')
date_from1.pack(side=LEFT, padx=50)
date_from2 = DateEntry(sec_frame1, background='#e03aca', font="Helvetica 14",locale='KY')
date_from2.pack(side=LEFT)
def get_datas(self):
date1 = date_from.get_date()
date2 = date_to.get_date()
query_datas= f"select *from client_info where date_to='{date1}'::date and date_from='{date2}'::date"
self.cursor.execute(query_datas)
get_datas = self.cursor.fetchall()
print(get_datas) #I actually get the data in the console
try:
get_datas[0]
except IndexError:
messagebox.showerror('some text', 'some text')
lenn = len(get_datas)
len1 = len(get_datas[0])
bottom_frame = Frame(self.master, )
table = Sheet(bottom_frame, page_up_down_select_row=True, column_width=120, startup_select=(0, 1, "rows"),
data=[[get_datas[r][c] for c in range(len1)] for r in range(lenn)],
height=1000,
width=1920
)
table.enable_bindings(("single_select",
"drag_select",
"column_drag_and_drop",
"row_drag_and_drop",
"column_select",
"row_select",
"column_width_resize",
"double_click_column_resize",
"arrowkeys",
"row_height_resize",
"double_click_row_resize",
"right_click_popup_menu",
"rc_select",
"rc_insert_column",
"rc_delete_column",
"rc_insert_row",
"rc_delete_row",
"hide_columns",
"copy",
))
bottom_frame.pack()
table.pack(side=TOP)
解决方案
** 非常感谢您。你是对的。我这样做了。在 sec_frame 函数中,我创建了全局变量表 bottom_frame。我在 get_datas 函数中调用了这些全局变量,并将一个空值传递给表 table.set_sheet_data(data=[])。每次我先单击按钮时,我都会将空数据传递给表。然后接收到的请求再次通过表。set_sheet_data(data=[......])。在bottom_frame的最后,table做了一个pack() **
推荐阅读
- python - 从文件中提取数据作为字典
- reactjs - 覆盖材料表中的 MuiTable-root 类
- unity3d - 我在 Unity 中,我导入了一个新的 appodeal sdk,我收到此错误:清单合并失败并出现错误
- angular - 如何从服务调用方法到控制器 Ionic
- php - PHP用特殊字符解密
- google-apps-script - dblclick SelectionInput 卡片脚本服务
- javascript - ScriptTagInput 类型的变量 $input!提供了无效值
- serenity-platform - Q.reloadLookup() 与新的一组 FilterField
- asp.net - 使用参数 .Net Core 调用操作
- javascript - 在 JavaScript/Flickity 时间线轮播上的导航按钮/链接上设置选定的类