我目前正在学习 Tkinter 并开发一个用于管理客户信息的小型 SQLite 数据库应用程序。我遇到了几个正在寻求帮助的问题:
Tkinter 树视图中的额外列:
在我的应用程序中,我设置了一个 ttk.Treeview 来显示客户信息。但是,我注意到表格中出现了一个额外的列,我不确定为什么会发生这种情况。
SQLite 数据库中的对齐问题:
此外,当我将信息保存到 SQLite 数据库并检索它以显示在 ttk.Treeview 中时,似乎存在对齐问题。数据未在相应列中正确显示,并且似乎存在偏差。
我尝试过调整列宽和对齐方式,但问题仍然存在。我正在向社区寻求指导,以识别和解决这些问题。
def lista_frame2(self):
self.listaCli = ttk.Treeview(self.frame_2, height=3, columns=("col0", "col1", "col2", "col3"))
self.listaCli.heading("#0", text="Código", anchor=CENTER)
self.listaCli.heading("col1", text="Nome", anchor=CENTER)
self.listaCli.heading("col2", text="Telefone", anchor=CENTER)
self.listaCli.heading("col3", text="Cidade", anchor=CENTER)
self.listaCli.column("#0", width=50, anchor=CENTER)
self.listaCli.column("col1", width=50, anchor=CENTER)
self.listaCli.column("col2", width=50, anchor=CENTER)
self.listaCli.column("col3", width=60, anchor=CENTER)
self.listaCli.place(relx= 0.025, rely= 0.05, relwidth= 0.92, relheight= 0.90)
self.scrollLista = Scrollbar(self.frame_2, orient = 'vertical')
self.listaCli.configure(yscroll=self.scrollLista.set)
self.scrollLista.place(relx= 0.945, rely= 0.05, relwidth= 0.03, relheight= 0.90)
self.listaCli.bind("<Double-1>", self.OnDoubleClick)
我尝试过的:
ttk.Treeview
中的列宽,以确保它们适合内容。anchor=CENTER
以使文本居中对齐。期望:
ttk.Treeview
仅显示指定的列,而不显示任何其他列。ttk.Treeview
中各自的列中正确对齐。您需要:
show="headings"
"col0"
和 "#0"
中使用
.heading(...)
代替
.column(...)
def lista_frame2(self):
self.listaCli = ttk.Treeview(self.frame_2, height=3,
columns=("col0", "col1", "col2", "col3"),
show="headings")
self.listaCli.heading("col0", text="Código", anchor=CENTER)
...
self.listaCli.column("col0", width=50, anchor=CENTER)
...