在 tkinter 中将 window 一分为二
Divide a window into two in tkinter
我想为我负责编码的科学计算器项目制作两个框架;一部分是计算器,另一部分将显示用户输入的操作历史,这是我到目前为止尝试过的:
import math
import tkinter.messagebox
from tkinter import *
root = Tk()
root.title("Calculator")
root.configure(background="lightgray")
root.resizable(width=True,height=True)
root.geometry("1042x521+0+0")
calc = Frame().grid()
history = Frame().grid()
这会将 window 分成 2 个大小相同的帧。
root.grid_columnconfigure(0, weight = 1)
root.grid_columnconfigure(1, weight = 1)
root.grid_rowconfigure(0, weight = 1)
calc = Frame(root, bg = "red")
calc.grid(row = 0, column = 0, sticky = "nesw")
history = Frame(root, bg = "green")
history.grid(row = 0, column = 1, sticky = "nesw")
grid_columnconfigure
告诉 tkinter 让每一列的宽度与 window 相等,grid_rowconfigure
告诉它让第 0 行占据 [=19] 的整个高度=].然后你需要使用 sticky = "nesw"
使框架扩展以填充 space.
我想为我负责编码的科学计算器项目制作两个框架;一部分是计算器,另一部分将显示用户输入的操作历史,这是我到目前为止尝试过的:
import math
import tkinter.messagebox
from tkinter import *
root = Tk()
root.title("Calculator")
root.configure(background="lightgray")
root.resizable(width=True,height=True)
root.geometry("1042x521+0+0")
calc = Frame().grid()
history = Frame().grid()
这会将 window 分成 2 个大小相同的帧。
root.grid_columnconfigure(0, weight = 1)
root.grid_columnconfigure(1, weight = 1)
root.grid_rowconfigure(0, weight = 1)
calc = Frame(root, bg = "red")
calc.grid(row = 0, column = 0, sticky = "nesw")
history = Frame(root, bg = "green")
history.grid(row = 0, column = 1, sticky = "nesw")
grid_columnconfigure
告诉 tkinter 让每一列的宽度与 window 相等,grid_rowconfigure
告诉它让第 0 行占据 [=19] 的整个高度=].然后你需要使用 sticky = "nesw"
使框架扩展以填充 space.