Если вы хотите отобразить результат запроса в графическом интерфейсе tkinter, вы можете просто использовать Scrolledtext
(предпочтительно) или любой другой Text
виджет и вставить результат в него. Вы можете формировать табличные данные из полученных результатов запроса, используя простой модуль с именем tabulate
. Для справки используйте ниже-
from tabulate import tabulate
import tkinter as tk
from tkinter.scrolledtext import ScrolledText
class Root(tk.Tk):
fetch_data = [(None, 21, 20, 20, 20, 20), (8, None, 8, 8, 8, 8)]
fetch_col = ['TEACHER', 'STUDENT', 'A', 'B', 'C', 'D']
def __init__(self):
super().__init__()
h_scrlbar = tk.Scrollbar(self, orient='horizontal')
h_scrlbar.pack(side='bottom', fill='x')
self.res_tbl = ScrolledText(self, font=(
'Consolas', 14), wrap='none', xscrollcommand=h_scrlbar.set)
self.res_tbl.pack(fill='both', expand=1)
h_scrlbar.config(command=self.res_tbl.xview)
pr = tabulate(Root.fetch_data, Root.fetch_col, tablefmt='psql', missingval='-')
self.res_tbl.insert(0.0, pr)
if __name__ == '__main__':
Root().mainloop()
Где вместо результата запроса sql можно получить fetch_data
& fetch_col
.