当前位置: 首页 > 知识库问答 >
问题:

获取Tkinter上的顶级级别列表

方和豫
2023-03-14

我想知道是否有一种简单的方法可以从特定的窗口获得所有的顶层,包括顶层内的顶层。在下面的代码中,我留下了一个我想做的例子:

from tkinter import Tk, Toplevel

v = Tk()
v2 = Toplevel(v)
v3 = Toplevel(v2)
v4 = Toplevel(v2)

def toplevels(ventana):
    print("Here I return the list of all toplevels, in case of choosing the main window, it should return:")
    print()
    print(".")
    print(".toplevel")
    print(".toplevel.toplevel")
    print(".toplevel.toplevel2")

toplevels(v)

Tkinter中是否有实现这一点的内置功能?

共有1个答案

闻人昊昊
2023-03-14

每个小部件都有其子部件的列表,使用递归可以获得所有小部件。

from tkinter import Tk, Toplevel, Label

v = Tk()
v2 = Toplevel(v)
v3 = Toplevel(v2)
v4 = Toplevel(v2)
Label(v)
Label(v2)
Label(v3)
Label(v4)

def toplevels(ventana):
    for k, v in ventana.children.items():
        if isinstance(v, Toplevel):
            print('Toplevel:', k, v)
        else:
            print('   other:', k, v)
        toplevels(v)

toplevels(v)

后果

Toplevel: !toplevel .!toplevel
Toplevel: !toplevel .!toplevel.!toplevel
   other: !label .!toplevel.!toplevel.!label
Toplevel: !toplevel2 .!toplevel.!toplevel2
   other: !label .!toplevel.!toplevel2.!label
   other: !label .!toplevel.!label
   other: !label .!label
 类似资料:
  • 我的问题类似于这个如何使用节点js获取谷歌云存储文件夹中的文件列表。 我只是想得到顶级的物体。我试着在这里跟随nodejs storage samples files.js,当我尝试“prefix”和“deliminator”的不同组合时,我很难获得顶级对象。我已尝试使用前缀“”和去污剂“/”。我尝试了前缀“/”和去污剂“/”。我尝试了一个前缀“/”没有除沫器。似乎并没有什么能让我只得到顶级对象的

  • 我正在使用SQLServer 2008,我迫切需要sql查询或存储过程来显示任何类别或子类别中的顶级品牌。例如,如果我通过Id分类=2,结果集应该通过执行id分类=2及其子类别和子类别的产品计数来显示电子产品中的顶级品牌。如果我通过Id分类=38,结果应该显示手机中的顶级品牌 以下是我数据库中的表格。 类别 品牌 下表打破了类别和品牌表之间的多对多关系 分类目录品牌 产品 关于乘积表的假设 产品只

  • 问题内容: 一种。列级 b。表级 列级别约束和表级别约束之间有什么区别吗? 问题答案: 否。您如何应用约束只是个人喜好的问题。 主键约束只是主键约束-它始终应用于 表 (毕竟:它可能包含多个列-不能在“列级别”)。 它不是一次在“列级”上,也不是在另一种情况下在“表级”上-总是一样的。 只是为了好玩-您还可以通过第三种方式创建主键约束: 再次与您已经拥有的其他两个选项相同。

  • 我使用codeigniter和有一个表3列(id,名称,parent_id)。一个类别可以有多个子类别,一个子类别可以有多个子类别。 我一直在尝试使用以下代码获取所有类别及其子类别: 但它只返回1级类别。 我的问题是如何完成我的任务:获得每个级别的所有类别和子类别。

  • 问题内容: 我在AWT中看到了一种方法:。在JavaFx中,是否有任何方法可以获取所有窗口的JavaFx应用程序? 谢谢, 问题答案: AFAIK,仍然没有适当的方法来执行此操作。 尽管有一种 肮脏的短期 方法: 浏览的源代码,有一个静态方法似乎可以满足您的期望:。 但是有很多免责声明:

  • 我正在使用Tkinter作为GUI用python编程一些驱动器。当我的机器运行时,我想向用户显示一个顶层窗口,其中包含一些信息,这些信息应该在功能完成后自动关闭。这是我最小的例子: 主要问题是,顶层窗口在5秒结束后才出现。有什么建议吗?谢谢!