鱼C论坛

 找回密码
 立即注册
查看: 2807|回复: 9

[已解决]tkinter窗口关闭问题

[复制链接]
发表于 2019-8-10 23:43:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我想的是:一个主窗口按下按钮后打开一个子窗口,然后这个子窗口在按下它自己的OK键按钮后,子窗口关闭。主窗口保留。我自己写的时候一直出现奇奇怪怪的问题。 求助帮忙写个例子
最佳答案
2019-8-15 02:39:31
写了一个简单的例子 希望能帮到你,用toplevel控件创建新窗口,用command=窗口名.destroy 摧毁子窗口
import tkinter as tk

def sign_up():
    window1 = tk.Toplevel(root)
    window1.geometry('200x200')
    tk.Button(window1,text='点我关闭',command=window1.destroy).pack()
   
root = tk.Tk()
root.title('我是一个主窗口')
root.geometry('300x300')
btn1 = tk.Button(root,text='点我',command=sign_up).pack()
btn2 = tk.Button(root,text='关闭',command=root.destroy).pack(side='bottom')
root.mainloop()
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-8-11 09:18:50 | 显示全部楼层
奇奇怪怪的问题是什么,请说清楚。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-11 11:55:05 | 显示全部楼层
zltzlt 发表于 2019-8-11 09:18
奇奇怪怪的问题是什么,请说清楚。

我百度了半天,搞了好几种。应该是用command = root.quit 可是我点的时候第一次没反应,第二次主窗口和子窗口一起关了。还有就是如果保存为py文件时怎么关都关不掉。pyw才能按上面那样。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-11 12:10:56 | 显示全部楼层
zltzlt 发表于 2019-8-11 09:18
奇奇怪怪的问题是什么,请说清楚。

这个问题太奇怪了,我原来是在一整个程序里输的,然后自己感觉差不多搬了一段代码出来,那一段代码也是关不掉。如果直接双击打开文件的话直接又没反应。我前前后后遇到了好几种情况。搞了几个小时就搞这个小按钮实在难受。能不能麻烦一下帮我写一小段关于这个的代码,我对比看下哪里出错了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-11 12:32:19 | 显示全部楼层
哭了哭了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-11 17:14:56 | 显示全部楼层
心好累
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-11 17:45:01 | 显示全部楼层
这不是看起来很经常用的功能吗,咋没人教教我
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-11 17:49:14 | 显示全部楼层
留声旅途 发表于 2019-8-11 17:45
这不是看起来很经常用的功能吗,咋没人教教我

抱歉,我对 tkinter 并不是特别熟悉,我平常都用 wxPython,无法解答你的问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-15 02:39:31 | 显示全部楼层    本楼为最佳答案   
写了一个简单的例子 希望能帮到你,用toplevel控件创建新窗口,用command=窗口名.destroy 摧毁子窗口
import tkinter as tk

def sign_up():
    window1 = tk.Toplevel(root)
    window1.geometry('200x200')
    tk.Button(window1,text='点我关闭',command=window1.destroy).pack()
   
root = tk.Tk()
root.title('我是一个主窗口')
root.geometry('300x300')
btn1 = tk.Button(root,text='点我',command=sign_up).pack()
btn2 = tk.Button(root,text='关闭',command=root.destroy).pack(side='bottom')
root.mainloop()
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-17 18:39:43 | 显示全部楼层
5584197 发表于 2019-8-15 02:39
写了一个简单的例子 希望能帮到你,用toplevel控件创建新窗口,用command=窗口名.destroy 摧毁子窗口
impo ...

万分感谢!!!我差点都要放弃这个gui了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-30 02:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表