在 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.