python提示对话框自动关闭_Python - tkinter:打开和关闭对话框窗口

我是Python新手,必须编写一个简单的GUI程序,为了简单起见,我选择在tkinter中这样做。

我想要的GUI应该非常类似于在Windows上安装程序时经常遇到的对话框(您想要安装的位置,您想要的模块等)。基本上当它在python3.3中运行时,我想要一个窗口出现,其中一些选项占据了大部分窗口,然后是','返回'和'取消'底部的按钮;点击“下一步”'按钮,当前窗口关闭,打开一个看起来相同的新窗口,除了它有不同的选项(或者它可能是同一个窗口,但它的内容已被破坏,我不确定哪个更好) 。我想要的粗略布局显示在this image

yU8wW.png

我已经四处寻找代码,这些代码与此类似,但未找到任何代码。我看过this answer,但它并不是我想要的。我使用this tutorial来了解我对tkinter的了解,但我无法在其中找到答案。

这是我对我想要做的简化版本的极其糟糕的尝试:当我运行代码时,它会创建一个带有两个按钮的窗口。 ' Quit'按钮工作正常;但是,当我点击“下一步”时按钮关闭窗口并根据需要打开一个新窗口,但它也会打开另一个窗口。

from tkinter import *

from tkinter import ttk

def win1():

mainframe = ttk.Frame(root, padding = '3 3 12 12')

mainframe.grid(column = 0, row = 0, sticky = (N, W, E, S))

mainframe.columnconfigure(0, weight = 1)

mainframe.rowconfigure(0, weight = 1)

ttk.Button(mainframe, text = 'Next', command = win2).grid(

column = 1, row = 1, sticky = W)

ttk.Button(mainframe, text = 'Quit', command = quit).grid(

column = 1, row = 2, sticky = W)

root.mainloop()

def quit():

root.destroy()

def win2():

quit()

new = Toplevel()

new.title('Window 2')

new = ttk.Frame(root, padding = '3 3 12 12')

new.grid(column = 0, row = 0, sticky = (N, W, E, S))

new.columnconfigure(0, weight = 1)

new.rowconfigure(0, weight = 1)

ttk.Button(mainframe, text = 'Next', command = win2).grid(

column = 1, row = 1, sticky = W)

root = Tk()

win1()

这会出现以下错误消息(我不明白):

Exception in Tkinter callback

Traceback (most recent call last):

File "/usr/lib/python3.3/tkinter/__init__.py", line 1478, in __call__

return self.func(*args)

File "", line 23, in win2

File "/usr/lib/python3.3/tkinter/ttk.py", line 733, in __init__

Widget.__init__(self, master, "ttk::frame", kw)

File "/usr/lib/python3.3/tkinter/ttk.py", line 553, in __init__

tkinter.Widget.__init__(self, master, widgetname, kw=kw)

File "/usr/lib/python3.3/tkinter/__init__.py", line 2078, in __init__

(widgetName, self._w) + extra + self._options(cnf))

_tkinter.TclError: this isn't a Tk applicationNULL main window

除了它实际上没有做我想要的事实之外,我觉得我正在以完全错误的方式(在一个函数中定义窗口等),并且会遇到很多我想让它变得更复杂时遇到麻烦。有没有人能够以更好的方式重写我的代码,并以某种方式帮助我构建更复杂的程序,提供资源来学习我需要的程序,我想要甚至提供建议?感谢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/504097.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第六篇:如何学习C语言?

现在很多人初学者直接选择C语言的人已经变得越来越少了,主要原因还是在招聘岗位数量上无法和java,php等高级语言想媲美,但并不代表C语言已经穷途末路没有前景了,C语言的角色从前台变成了后台服务,在一些关键领域还承担…

典型相关分析_2020-2025年中国海水淡化行业发展前景与投资预测分析报告

《2020-2025年中国海水淡化行业发展前景与投资预测分析报告》利用中经未来长期对海水淡化市场跟踪搜集的一手数据,从行业的高度全面而准确的构建分析体系。报告主要分析了海水淡化行业的发展概况、海水淡化行业的发展环境、国外海水淡化行业发展经验借鉴、中国海水淡…

语言还是你不得不服的大哥级别编程语言!

直到今天,有人在喊C语言过时的语言,还有什么值得学习的,现在看Python,PHP等语言现在都很容易用,谁还在学习老C语言,其实这是真的吗?作者下载了两种语言的源代码作为下载器。由于空间的限制&…

python爬虫好学不_python爬虫好学吗

python爬虫难学吗 简单来说互联网是由一个个站点和网络设备组成的大网,我们通过浏览器访问站点,站点把HTML、JS、CSS代码返回给浏览器,这些代码经过浏览器解析、渲染,将丰富多彩的网页呈现我们眼前。爬虫是什么? 如果我…

力压Java、C语言!Python 获2018年度编程语言

TIOBE 近日宣布:Python 成为 2018 年度编程语言,Python之所以获得这个称号,是因为它在2018年的排名中比其他所有语言都高。Python语言赢得了3.62%的选票,紧随其后的是Visual Basic . net(3.2%)和Java&#…

.idea文件夹是做什么的_33 个 IDEA 最牛配置,写代码太爽了!

作者:琦彦blog.csdn.net/fly910905/article/details/778683001.设置maven1.在File->settings->搜索maven2.Mavan home directory--设置maven安装包的bin文件夹所在的位置3.User settings file--设置setting文件所在的位置4.Local repository--设置本地仓库2.I…

学习C语言什么都做不了,为什么你还学?是这样吗?

对于大部分初学者,学习C语言的目的是希望做一名合格的程序员,开发出靠谱的软件来。但是学了C语言的基本语法后,发现只能开发“黑底白字”的DOS程序,完全没有漂亮的界面和生动的交互。于是学数据结构,学算法&#xff0c…

手动卸载_一种手动液压一体式卸载扳手

摘要一种手动液压一体式卸载扳手,属于煤矿井下施工设备领域,可解决井下回收单体柱时存在的安全隐患的问题,包括扳手腔体、柱塞、堵头和加长把手,扳手腔体包括半圆柱体Ⅰ以及与半圆柱体Ⅰ连接的半圆柱体Ⅱ,所述半圆柱体…

docker运行jenkins挂掉_【图文】Jenkins教程集成SonarQube

什么是SonarQube?看看维基百科的说明:SonarQube与CI/CD架构图SonarQube与CI/CD架构图Docker运行SonarQube简单了解之后,开始安装SonarQube.这里用Docker安装注:这里用mysql来存储SonarQube的数据,SonarQube7.9起已经不在支持mysq…

python写选择排序_如何快速掌握python选择排序算法?

对于算法,我们不少讲述,但是大部分小伙伴都希望,将单个算法拆分讲解,这样可以更加深对算法的印象,好了,本期,就针对选择排序算法,给大家讲解说明哦~感兴趣的小伙伴一起来看下吧~ 在列…

实现if_数组实现固定栈和队列+栈与队列相互实现

文章目录一、数组实现固定栈和队列1.数组实现固定栈2.数组实现固定队列二、栈与队列相互实现1.两个队列实现栈2.两个栈实现队列一、数组实现固定栈和队列1.数组实现固定栈代码如下:class ArrayStack { private:int *arr;int index; public:ArrayStack(int initSize)…

友情提示,你该找一份假期实习啦!

假期已至, 这么漫长的寒假, 你是否有找一份实习的打算呢? 是否毫无头绪和思路? 是找一份毫无意义的推销工作,传单,快餐店,电话推销等,还是真正找到兴趣所在,专业相关&…

什么意思_invalid是什么意思

invalid是什么意思in,常见的表示反义的前缀,更多例子比如:indifferent, infinite, incapable, etc. valid,形容词,有根据的、让人信服的、有效的、有法律效力的。相关的单词我们还背过validity.validinvalid&#xff0…

互联网技术+非技术书单资源分享,都给泥萌!

为了更好的帮助到大家,从讨论区去找到对应的分享给大家 欢迎留言你想要的书资源,并说明理由(比如为什么想看这本书之类的),这边有的话都会汇总~~ 深入理解java虚拟机 链接: https://pan.baidu.com/s/1wXGZnMiDKd6AKS…

createprocess失败代码2_pytest文档57单元测试代码覆盖率(pytestcov)

前言我们在做测试的时候,经常遇到领导的灵魂拷问:你的测试用例覆盖率是多少,达到100%了么?你如何保证你的测试质量?测试用例的覆盖率如何统计呢,如何知道开发的代码,我们都测到了,不…

java包名和类名可以一样吗_Java入门第三课:Java基本语法

Java基础编写Java程序时,应注意以下几点:1.大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。有些操作系统不区分大小写,不区分的话,文件名是不完全正确的。 然而,如果你的…

C语言入门精髓

上篇说到了C语言还是很基础的编程语言,还是值得去学,那么怎么去学?什么人才能学好?为什么学到一半就早早缴械投降了?众多迷雾,众多的困难,怎么破局? 如有小伙伴想学习C语言基础&…

python 取余_玩转Python源码(一) quot;%squot;与“%d”

某一天吹水的时候,吹着吹着就吹到了一下这么一个案例。import timeitdef a():"%s, %s" % (1, 2)def b():"%s, %d" % (1, 2)def c():"%d, %d" % (1, 2)t timeit.timeit(stmt"a()", setup"from __main__ import a&quo…

笔刷怎么做_原来是这样:用PS笔刷做出颜料肌理效果!

题图插画 | TX灼灼“当我意识到可以利用PS的某些工具,设置不同的画笔之后,一切都变了。有些看起来很不合逻辑的组合,最后产生的效果却是逼真的惊人,再结合合适的形状就能创作出特别又新奇的东西。”——自制笔刷收入超10万美元的插…

qt 3d迷宫游戏_机械迷宫—一款机械风格的3D立体解谜独立游戏

解谜游戏一直是游戏类别中的一个大类,这里面各式各样的解密游戏,多不胜数。解密游戏又分很多种类,比如动作冒险新式的解密游戏,文字图像类型的解密游戏;游戏制作上有大有小,但是都有一个共同特点&#xff0…