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

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

我已经四处寻找代码,这些代码与此类似,但未找到任何代码。我看过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

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

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

  1. python提示对话框自动关闭_Python实现定时自动关闭的tkinter窗口方法

    Python实现定时自动关闭的tkinter窗口方法 更新时间:2019年02月16日 09:13:27 作者:Python_小屋 今天小编就为大家分享一篇Python实现定时自动关闭的tkinter ...

  2. Electron中打开和关闭子窗口以及子窗口向父窗口传值

    场景 用HTML和CSS和JS构建跨平台桌面应用程序的开源库Electron的介绍以及搭建HelloWorld: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/a ...

  3. Qt:一个按钮实现打开和关闭新窗口

    如图:程序打开时按钮名为Open 点击按钮后,打开新窗口,按钮名变为Close 所使用Qt版本为5.9.9,Qt Creator版本为4.11.0 原理:在打开和关闭新窗口时改变flag的值,通过fl ...

  4. python打开后的界面-Python - tkinter:打开和关闭对话框窗口

    我是Python新手,必须编写一个简单的GUI程序,为了简单起见,我选择在tkinter中这样做. 我想要的GUI应该非常类似于在Windows上安装程序时经常遇到的对话框(您想要安装的位置,您想要的 ...

  5. Python实现定时自动关闭的tkinter窗口

    功能简要说明:程序运行后10秒钟自动关闭. 技术要点:tkinter应用程序的destroy()方法,多线程编程. 代码截图: 运行效果: ----------相关阅读---------- Pytho ...

  6. 用python设计学生管理系统_python+tkinter实现学生管理系统

    本文实例为大家分享了python+tkinter实现学生管理系统的具体代码,供大家参考,具体内容如下 from tkinter import * from tkinter.messagebox imp ...

  7. python图形统计代码_python tkinter图形界面代码统计工具

    本文为大家分享了python tkinter图形界面代码统计工具,供大家参考,具体内容如下 #encoding=utf-8 import os,sys,time from collections im ...

  8. python图形界面代码_python tkinter图形界面代码统计工具(更新)

    本文为大家分享了python tkinter图形界面代码统计工具的更新版,供大家参考,具体内容如下 代码统计工具 修改了导出excel功能,把原来的主文件进行了拆分 code_count_window ...

  9. python输出文本框_python TKinter获取文本框内容的方法

    python TKinter获取文本框内容的方法 如下所示: #coding:utf-8 import urllib,urllib2 import Tkinter #导入TKinter模块 ytm=T ...

最新文章

  1. 小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载四(使用程序载入事件)...
  2. 暑假第六周总结(2018.8.13-8.19)
  3. recv函数返回值说明
  4. 重新学习Spring一--Spring在web项目中的启动过程
  5. R语言第八讲 评估模型之交叉验证法分析案例
  6. springmvc+jpa实现分页的两种方式
  7. Python二级笔记(18,19合集操作篇)
  8. filezilla:阿里云 win10 服务器文件传输(上传和下载)的配置教程
  9. 计算机上网记录怎么清除,电脑浏览器上网记录怎么删除
  10. pngquant failed to build, make sure that libpng-dev is installed
  11. 教你怎么免费升级宝塔企业版和专业版
  12. load.php 迅雷,C#_C#实现调用迅雷下载的方法,迅雷下载是目前使用非常普遍 - phpStudy...
  13. 离散数学复习:二元关系
  14. 大剖析:中国数万亿家装市场,为何出不了一个30亿美金的Houzz?
  15. STM32 ADC单通道与多通道_DMA学习笔记
  16. 小白学习之路,网络编程(上)
  17. 量化交易 实战第七课 单因子 IC 分析
  18. 企业基本财务指标计算
  19. LDN 左移64单开槽蓝牙5.2双模RGB PCB(GH60兼容)
  20. UEditor 富文本编辑器-后端实现文件上传功能

热门文章

  1. python-聚类图像分割
  2. java调用一个方法后怎么继续执行不等待该方法的返回_Java面试题大全2020版(二)...
  3. php+jquery实现图片上传预览_和拖动位置值,PHP教程:thinkphp jquery实现图片上传和预览效果...
  4. 光华科技光刻胶_光刻胶领衔国产替代,20只相关优质个股曝光,快看看有没有你的...
  5. 找到一个或多个多重定义的符号_初中数学之相反数,总结规律,学会多重符号的化简...
  6. ubuntu切换root用户
  7. CompletableFuture详解~thenApplyAsync
  8. zabbix php 5.6 安装配置,CentOS 5.6下Zabbix 1.8.5 服务端安装部署
  9. 为什么计算机专业被称为宇宙机,量子计算机为何被称为宇宙中最强大的计算机...
  10. java 反射获取对象_使用Java反射机制获取对象