gpt4 book ai didi

python - 如何通过按下按钮隐藏框架的一部分

转载 作者:太空宇宙 更新时间:2023-11-04 11:15:20 25 4
gpt4 key购买 nike

我有一个由两部分组成的窗口。一部分是做一些设置。我想隐藏它,直到用户按下设置按钮。是否可以隐藏包含许多小部件的框架的一部分?我见过很多在 tkinter 中隐藏小部件的示例(例如 pack_forget 和 grid_forget)。就我而言,我试图通过按下按钮(包含多个小部件)来隐藏框架的一部分。请有任何建议由于某些问题,我不能使用多个框架。

import tkinter as tk
def startFn():
pass
#fn body
def stopFn():
pass
#fn body

def FnToShow():
pass
#fn body ???
def FnToHide():
pass
#fn body ???

root = tk.Tk()
root.geometry('600x400')

#two containers like this.
#trying to hide container_2 untill the user press settingBtn

container_1 = tk.Frame(root, borderwidth=2, relief="solid")
container_2 = tk.Frame(root, borderwidth=2, relief="solid")

startBtn = tk.Button(container_1, text = "Start", command =startFn)
startBtn.grid(row=4, column=4)
stopBtn = tk.Button(container_1, text = "Stop", command= stopFn)
stopBtn.grid(row=5, column=4)
settingBtn = tk.Button(container_1, text = "Settings", command= FnToShow)
settingBtn.grid(row=6, column=4)


setting_1 = tk.Label(container_2, text = "Setting-1", fg='#000000')
setting_1.grid(row=3, column=10)
setting_2 = tk.Label(container_2, text = "Setting-2", fg='#000000')
setting_2.grid(row=4, column=10)
closeSettingBtn = tk.Button(container_2, text = "close Settings", command= FnToHide)
closeSettingBtn.grid(row=5, column=10)

container_1.pack(side="left", expand=True, fill="x", padx=1, pady=1)
container_2.pack(side="right",expand=True, fill="x", padx=1, pady=1)
root.mainloop()

最佳答案

您可以使用函数 FnToShowFnToHide 显示/隐藏整个 container_2:

像这样:

import tkinter as tk


def startFn():
pass

def stopFn():
pass

def FnToShow():
container_2.pack(side="right",expand=True, fill="x", padx=1, pady=1)

def FnToHide():
container_2.pack_forget()


root = tk.Tk()
root.geometry('600x400')

container_1 = tk.Frame(root, borderwidth=2, relief="solid")
container_2 = tk.Frame(root, borderwidth=2, relief="solid")

startBtn = tk.Button(container_1, text="Start", command =startFn)
startBtn.grid(row=4, column=4)
stopBtn = tk.Button(container_1, text="Stop", command= stopFn)
stopBtn.grid(row=5, column=4)
settingBtn = tk.Button(container_1, text="Settings", command= FnToShow)
settingBtn.grid(row=6, column=4)


setting_1 = tk.Label(container_2, text="Setting-1", fg='#000000')
setting_1.grid(row=3, column=10)
setting_2 = tk.Label(container_2, text="Setting-2", fg='#000000')
setting_2.grid(row=4, column=10)
closeSettingBtn = tk.Button(container_2, text="close Settings", command= FnToHide)
closeSettingBtn.grid(row=5, column=10)

container_1.pack(side="left", expand=True, fill="x", padx=1, pady=1)
root.mainloop()

关于python - 如何通过按下按钮隐藏框架的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57145641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com