【问题标题】:How to create a new Tkinter window frame within a window?如何在窗口中创建一个新的 Tkinter 窗口框架?
【发布时间】:2020-08-25 22:39:39
【问题描述】:

所以基本上我正在用 Tkinter 制作一个 GUI。我还想在 Tkinter 窗口中创建一个框架,当我单击一个按钮时它应该会打开。

到目前为止,这是我的代码:

from tkinter import *
import tkinter

screen = Tk()
screen.title("My GUI")
screen.geometry("600x600")
screen.configure(background="Gray")

button1 = Button(screen)
button.pack()

screen.mainloop

那么当我点击按钮时如何创建一个新的窗口(框架)?

【问题讨论】:

  • 是什么阻止您创建创建框架的函数并从按钮调用它?
  • 定义一个回调函数来做你想做的事,并安排它在Button被点击时调用button1 = Button(screen, command=my_callback_function)之类的东西。
  • “Tkinter 窗口中的框架”到底是什么意思?
  • 问题是我不知道如何创建框架,也没有任何好的教程可以提供帮助。所以我在这里问。
  • 创建框架与创建按钮非常相似(当然,名称除外)。 the_frame= Frame(screen).

标签: python tkinter


【解决方案1】:

您可以按照以下逻辑创建/切换框架

from tkinter import *
import tkinter

screen = Tk()
screen.title("My GUI")
screen.geometry("600x600")
screen.configure(background="Gray")

frame_enabled = False


def toggle_frame():
    global frame_enabled
    if not frame_enabled:
        my_frame.pack(fill='both', expand=True)
    else:
        my_frame.pack_forget()
    frame_enabled = not frame_enabled


button1 = Button(screen, text="Toggle frame", command=toggle_frame)
button1.pack()

my_frame = Frame(screen, bg="red")
screen.mainloop()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-29
    • 2017-03-09
    • 1970-01-01
    • 1970-01-01
    • 2021-10-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多