python寫一個GUI窗口在窗口内創建一個數據表格,每個表格都有實綫框
时间: 2024-03-13 11:47:23 浏览: 213
好的,以下是一个使用Python的Tkinter库创建GUI窗口并在窗口内创建一个有实线框的数据表格的示例代码:
```python
import tkinter as tk
from tkinter import ttk
class Application(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.create_widgets()
def create_widgets(self):
# 创建表格
self.table = ttk.Treeview(self.master, columns=("column1", "column2", "column3"), show="headings")
self.table.heading("column1", text="Column 1")
self.table.heading("column2", text="Column 2")
self.table.heading("column3", text="Column 3")
self.table.pack(padx=10, pady=10)
# 添加表格线条
style = ttk.Style()
style.configure("Treeview", rowheight=25, font=("Arial", 12))
style.configure("Treeview.Heading", font=("Arial", 12, "bold"))
style.configure("Treeview.Treeitem", font=("Arial", 12), bordercolor="black")
style.configure("Treeview.Item", font=("Arial", 12), bordercolor="black")
style.layout("Treeview.Item", [('Treeitem.padding',
{'sticky': 'nswe',
'children': [('Treeitem.indicator', {'side': 'left', 'sticky': ''}),
('Treeitem.image', {'side': 'left', 'sticky': ''}),
('Treeitem.text', {'side': 'left', 'sticky': ''})]})])
# 添加数据
for i in range(10):
self.table.insert("", "end", values=("value1", "value2", "value3"))
# 给表格添加实线框
for column in self.table["columns"]:
self.table.column(column, width=100, minwidth=100, anchor="center")
self.table.heading(column, text=column, anchor="center", command=lambda c=column: self.sort_column(c, False))
self.table.column(column, stretch=tk.YES)
self.table.column(column, anchor="e")
self.table.column(column, borderwidth=1, relief="solid")
def sort_column(self, column, reverse):
pass
root = tk.Tk()
app = Application(master=root)
app.mainloop()
```
这个例子创建了一个应用程序类,继承自Tkinter的Frame类。在这个类中,我们创建了一个名为`table`的数据表格,使用了`ttk.Treeview`控件。我们设置了三个列,每一列都有一个标题,然后将表格添加到窗口中。我们使用`ttk.Style`方法添加了实线框,并设置了行高和字体样式。然后我们使用循环添加了10行数据。最后,我们使用`self.table.column`方法设置了列的宽度、最小宽度、对齐方式和边框样式,然后添加了点击列标题排序的方法。你可以根据你的需求修改这个例子,例如添加更多的列和行,或者修改列的宽度和样式。
阅读全文