python - Tkinter 无法增加框架/网格行高
问题描述
我找不到增加包含 Treeview 的框架高度的方法。我正在使用网格,因为稍后我将添加更多小部件。我试过做这些,但它们似乎都不起作用:
- 创建时定义框架高度
- 行跨度
- 网格行配置(权重)
- 网格行配置(最小尺寸)
import tkinter as tk
import tkinter.ttk as ttk
class ViewWindow(tk.Frame):
def __init__(self, root):
self.root = root
self.root.resizable(False,False)
self.root.geometry('1000x700+500+150')
self.root.title('View Appointments')
self.widgets()
def widgets(self):
self.canvas = tk.Canvas(self.root, width=1000, height=81, background='blue')
self.canvas.grid(row=0, column=0, columnspan=20)
self.header = tk.Label(self.root, text="ABC", background='blue', font=("",50), fg='white')
self.header.grid(row=0, column=0, columnspan=20, sticky="W")
self.topLeftLabel = tk.Label(self.root, text="DEF",font=("",50))
self.topLeftLabel.grid(row=1, column=0, sticky="W", columnspan=20)
self.frame = tk.Frame(self.root, height=1000, borderwidth=1)
self.frame.grid(row=2, column=1, sticky="NEWS", columnspan=18, rowspan=20)
###creating table
self.table = ttk.Treeview(self.frame)
self.table["columns"]=("a","b","c","d","e")
self.table.column("#0")
self.table.column("a", width=100)
self.table.column("b", width=100)
self.table.column("c", width=200)
self.table.column("d", width=150)
self.table.column("e", width=100)
self.table.heading("#0")
self.table.heading("a", text="a",anchor=tk.W)
self.table.heading("b", text="b",anchor=tk.W)
self.table.heading("c", text="c",anchor=tk.W)
self.table.heading("d", text="d",anchor=tk.W)
self.table.heading("e", text="e",anchor=tk.W)
self.table['show'] = 'headings'
###random data
for i in range(20):
self.table.insert("",i, value=(i,i,i,i,i))
self.table.pack(fill='both')
self.root.grid_rowconfigure(2, weight=1)
self.root.grid_rowconfigure(2, minsize=1000)
def main():
root = tk.Tk()
app = ViewWindow(root)
root.mainloop()
if __name__ == '__main__':
main()
任何帮助,将不胜感激。谢谢你。
解决方案
当您打包包含 TreeView 的 Frame 时:
self.table.pack(expand=tk.YES, fill=tk.BOTH)
推荐阅读
- python - 如何使用 python 生成特定的嵌套 JSON
- visual-studio-2015 - 安装 Visual Studio 2017 后找不到 Visual Studio 2015 midl
- android - 如何为线性布局添加卡片视图效果
- postgresql - 将具有多列的 CSV 导入 pgAdmin v4.1
- javascript - 如何根据子数组元素状态拆分数组?
- javascript - 如何使对话框关闭与生成的视图一起使用?
- mysql - 在mysql中加入两个表时遇到SequelizeEagerLoadingError
- javascript - 当它必须发生而不触发任何事件时,究竟在哪里做数组操作
- regex - 如何在 Dart 中替换字符串中间的空格?
- excel - 如何在 Excel 中以自定义格式输入日期?