Горизонтальная полоса прокрутки не работает в TkinterPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Горизонтальная полоса прокрутки не работает в Tkinter

Сообщение Anonymous »

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

Код: Выделить всё

class DatabaseViewer:
def __init__(self, root):
self.root = root
self.root.title("Database Viewer")

# Create Combobox for table selection
self.label = ttk.Label(self.root, text="Select Table:")
self.label.pack(pady=10)

self.table_combobox = ttk.Combobox(self.root)
self.table_combobox.pack(pady=5)
self.table_combobox.bind("", self.show_table_data)

# Create a frame to hold the Treeview and scrollbars
self.frame = ttk.Frame(self.root)
self.frame.pack(fill="both", expand=True, padx=10, pady=10)

# Create the Treeview to display the table data
self.table_treeview = ttk.Treeview(self.frame, show="headings")
self.table_treeview.pack(side="left", fill="both", expand=True)

# Add vertical scrollbar
self.v_scrollbar = ttk.Scrollbar(self.frame, orient="vertical", command=self.table_treeview.yview)
self.v_scrollbar.pack(side="right", fill="y")
self.table_treeview.configure(yscrollcommand=self.v_scrollbar.set)

# Add horizontal scrollbar
self.h_scrollbar = ttk.Scrollbar(self.root, orient="horizontal", command=self.table_treeview.xview)
self.h_scrollbar.pack(fill="x")
self.table_treeview.configure(xscrollcommand=self.h_scrollbar.set)

# Load table names into the Combobox
self.load_table_names()
или у многих проблема здесь

Код: Выделить всё

def show_table_data(self, event):
# Get the selected table name
selected_table = self.table_combobox.get()

# Clear the Treeview
self.table_treeview.delete(*self.table_treeview.get_children())
self.table_treeview["columns"] = ()

# Fetch data from the selected table
try:
conn = sqlite3.connect('test.db')
cursor = conn.cursor()

# Fetch column names and table data
cursor.execute(f"PRAGMA table_info({selected_table});")
columns = [col[1] for col in cursor.fetchall()]

cursor.execute(f"SELECT * FROM {selected_table};")
rows = cursor.fetchall()

# Set columns in Treeview
self.table_treeview["columns"] = columns
for col in columns:
self.table_treeview.heading(col, text=col)
self.table_treeview.column(col, anchor="center", width=100)

# Insert rows into the Treeview
for row in rows:
self.table_treeview.insert("", "end", values=row)

except sqlite3.Error as e:
messagebox.showerror("Error", f"Error fetching table data: {str(e)}")
finally:
conn.close()
Изображение


Подробнее здесь: https://stackoverflow.com/questions/790 ... in-tkinter
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»