Как вывести таблицу из БД(SQLite) в окно Tkinter?

Добрый день!
Подскажите, пожалуйста, как можно совершить вывод таблицы из БД(SQLite) в окно Tkinter?
То есть мне надо чтобы программа взяла целую таблицу из БД и перенесла ее в окно Tkinter для удобного просмотра данных.
  • Вопрос задан
  • 608 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
import sqlite3
import tkinter as tk
import tkinter.ttk as ttk
  
  
class Table(tk.Frame):
    def __init__(self, parent=None, headings=tuple(), rows=tuple()):
        super().__init__(parent)
  
        table = ttk.Treeview(self, show="headings", selectmode="browse")
        table["columns"] = headings
        table["displaycolumns"] = headings
  
        for head in headings:
            table.heading(head, text=head, anchor=tk.CENTER)
            table.column(head, anchor=tk.CENTER)
  
        for row in rows:
            table.insert('', tk.END, values=tuple(row))
  
        scrolltable = tk.Scrollbar(self, command=table.yview)
        table.configure(yscrollcommand=scrolltable.set)
        scrolltable.pack(side=tk.RIGHT, fill=tk.Y)
        table.pack(expand=tk.YES, fill=tk.BOTH)
  
  
data = (,)
with sqlite3.connect('test.db') as connection:
    cursor = connection.cursor()
    cursor.execute("SELECT * FROM users")
    data = (row for row in cursor.fetchall())

root = tk.Tk()
table = Table(root, headings=('Фамилия', 'Имя', 'Отчество'), rows=data)
table.pack(expand=tk.YES, fill=tk.BOTH)
root.mainloop()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы