原始tkinter主题样式
import tkinter as tk
class ExampleApp(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
t = SimpleTable(self)
t.pack(side="top", fill="x")
class SimpleTable(tk.Frame):
def __init__(self, parent, rows=4, columns=4):
"""
自定义行,列数默认4X4
"""
tk.Frame.__init__(self, parent, background="black")
self._widgets = []
for row in range(rows):
current_row = []
for column in range(columns):
label = tk.Label(self, text=f"第{column+1}列",
borderwidth=0, width=10)
label.grid(row=0, column=column, sticky="nsew", padx=1, pady=1)
entry = tk.Entry(self,
borderwidth=0, width=10)
entry.insert(0, f"row:{row},col:{column}")
entry.grid(row=row, column=column, sticky="nsew", padx=1, pady=1)
current_row.append(entry)
self._widgets.append(current_row)
for column in range(columns):
self.grid_columnconfigure(column, weight=1)
def set(self, row, column, value):
"""
修改列标题
"""
widget = self._widgets[row][column]
widget.configure(textvariable=value)
if __name__ == "__main__":
app = ExampleApp()
app.mainloop()
我们使用customtkinter样式
import customtkinter as tk
class ExampleApp(tk.CTk):
def __init__(self):
tk.CTk.__init__(self)
t = SimpleTable(self)
t.pack(side="top", fill="x")
class SimpleTable(tk.CTkFrame):
def __init__(self, parent, rows=4, columns=4):
"""
自定义行,列数默认4X4
"""
tk.CTkFrame.__init__(self, parent, background="black")
self._widgets = []
for row in range(rows):
current_row = []
for column in range(columns):
label = tk.CTkLabel(self, text=f"第{column+1}列",
borderwidth=2, width=10, fg_color='#6D67E4')
label.grid(row=0, column=column, sticky="nsew", padx=1, pady=1)
entry = tk.CTkEntry(self,
borderwidth=0.2, width=10,justify=tk.CENTER,fg_color='#46C2CB')
entry.insert(0, f"row:{row},col:{column}")
entry.grid(row=row, column=column, sticky="nsew", padx=1, pady=1)
current_row.append(entry)
self._widgets.append(current_row)
for column in range(columns):
self.grid_columnconfigure(column, weight=1)
def set(self, row, column, value):
"""
修改列标题
"""
widget = self._widgets[row][column]
widget.configure(textvariable=value)
if __name__ == "__main__":
app = ExampleApp()
app.mainloop()
瞬间好看了很多