【问题标题】:tkinter: Open a new window with a button prompt [closed]tkinter:打开一个带有按钮提示的新窗口[关闭]
【发布时间】:2015-02-22 17:07:08
【问题描述】:

如何通过用户在 tkinter GUI 中按下按钮来打开新窗口?我只需要非常简单的解决方案,如果代码也可以解释,那就太好了。

【问题讨论】:

  • 您是否尝试过自己执行此操作,如果您尝试过,请编辑您的问题以包含代码
  • 看来您在这里有两个问题。 “如何响应按钮单击而发生某些事情?”。将功能分配给按钮的command 属性,或使用bind 方法。 “我如何制作一个新窗口?”使用 Toplevel 小部件。
  • 什么是顶级小部件?
  • @EddyLoring 据我了解,TopLevel 小部件是一个弹出窗口
  • 但是我怎样才能使用它来创建一个新窗口呢?我不明白如何使用它

标签: python button tkinter window


【解决方案1】:

这是您问题的几乎最短的解决方案。该解决方案适用于 python 3.x。对于 python 2.x,将 import 更改为 Tkinter 而不是 tkinter(区别在于大写):

import tkinter as tk
#import Tkinter as tk  # for python 2
    
def create_window():
    window = tk.Toplevel(root)

root = tk.Tk()
b = tk.Button(root, text="Create new window", command=create_window)
b.pack()

root.mainloop()

这绝对不是我推荐的良好编码风格示例,但它说明了基本概念:带有命令的按钮和创建窗口的函数。

【讨论】:

  • 我试过这个解决方案,它可以工作,但我有第二个使用网格的窗口。因此这个错误TclError: cannot use geometry manager grid inside . which already has slaves managed by pac
  • @AvinashRaj 您不能在同一代码中同时使用 .pack() 和 .grid() 。将 .pack() 更改为 .grid()
  • 如何在新窗口中添加更多功能?
  • @RishabhDeepSingh:使用window 作为其他小部件的主人。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多