使用此答案中的代码:获取Tkinter上的顶级级别列表:
'''
List all objects in play next song
https://stackoverflow.com/questions/60978666/get-list-of-toplevels-on-tkinter
'''
LAST_TIME=0.0
THING_COUNT=0
def toplevels(ventana):
global LAST_TIME, THING_COUNT
now = time.time()
if not int(now) == int(LAST_TIME):
if THING_COUNT > 0:
print('Number of things:', THING_COUNT)
THING_COUNT = 0
print('\n============= toplevels() called at:', t(now),'=============')
LAST_TIME = now
for k, v in ventana.children.items():
if isinstance(v, tk.Toplevel):
print('Toplevel:', k, v)
else:
print(' other:', k, v)
toplevels(v)
THING_COUNT += 1
我这样称呼它:
toplevels(root)
输出如下:
Number of things: 42
============= toplevels() called at: Dec 24 2020 12:03:27 =============
Toplevel: 140109521792176 .140109521792176
other: 140109520829184 .140109521792176.140109520829184
other: 140109520830264 .140109521792176.140109520829184.140109520830264
other: 140109520859360 .140109521792176.140109520829184.140109520859360
other: 140109520829472 .140109521792176.140109520829184.140109520829472
other: 140109521432304 .140109521792176.140109521432304
other: 140109520827600 .140109521792176.140109521432304.140109520827600
other: 140109520828032 .140109521792176.140109521432304.140109520827600.140109520828032
other: 140109520827888 .140109521792176.140109521432304.140109520827600.140109520827888
other: 140109520828896 .140109521792176.140109521432304.140109520827600.140109520828896
other: 140109520828176 .140109521792176.140109521432304.140109520827600.140109520828176
other: 140109520828608 .140109521792176.140109521432304.140109520827600.140109520828608
other: 140109520828392 .140109521792176.140109521432304.140109520827600.140109520828392
other: 140109520767024 .140109521792176.140109521432304.140109520767024
other: 140109520827384 .140109521792176.140109521432304.140109520767024.140109520827384
other: 140109520767096 .140109521792176.140109521432304.140109520767024.140109520767096
other: 140109520827096 .140109521792176.140109521432304.140109520767024.140109520827096
Toplevel: 140109520827168 .140109520827168
other: 140109521621360 .140109520827168.140109521621360
other: 140109521623016 .140109520827168.140109521621360.140109521623016
other: 140109521621576 .140109520827168.140109521621360.140109521621576
other: 140109521623160 .140109520827168.140109521621360.140109521623160
other: 140109521623376 .140109520827168.140109521621360.140109521623376
other: 140109521622152 .140109520827168.140109521621360.140109521622152
other: 140109521622728 .140109520827168.140109521621360.140109521622728
other: 140109521623232 .140109520827168.140109521621360.140109521623232
other: 140109521621936 .140109520827168.140109521621360.140109521621936
other: 140109521622800 .140109520827168.140109521621360.140109521622800
other: 140109521622944 .140109520827168.140109521621360.140109521622944
other: 140109521623448 .140109520827168.140109521621360.140109521623448
other: 140109521623520 .140109520827168.140109521623520
other: 140109521624888 .140109520827168.140109521623520.140109521624888
other: 140109521624024 .140109520827168.140109521623520.140109521624024
other: 140109521623664 .140109520827168.140109521623520.140109521623664
other: 140109396840528 .140109520827168.140109521623520.140109396840528
other: 140109521624456 .140109520827168.140109521623520.140109521624456
other: 140109521624240 .140109520827168.140109521623520.140109521624240
other: 140109521624672 .140109520827168.140109521623520.140109521624672
other: 140109396840744 .140109520827168.140109521623520.140109396840744
other: 140109396840960 .140109520827168.140109396840960
other: 140109396841176 .140109520827168.140109396840960.140109396841176
other: 140109396841392 .140109520827168.140109396840960.140109396841392
它正确地显示了两个顶级。首先是一个音乐图书馆的树状视图。第二个是目前播放的四帧歌曲:
如何转换机器语言引用:
other: 140109521624240 .140109520827168.140109521623520.140109521624240
转换成人类可读的格式,例如:
我需要创建一个函数,将以人类可读的格式呈现信息,并允许更改颜色,字体大小(hDPI显示器),主题等。然后,这些更改将与使用. confiure()
方法的另一个函数一起应用。我还计划使用字典并存储在泡菜配置文件中,以便以后重新应用。
来解决配置的问题。在此应用程序中,有一个包含8个没有名称的tkinter按钮的框架。每隔几分钟,艺术品的背景色就会改变,需要向下传播到所有按钮。
以下是执行此操作的函数:
def config_all_buttons(level, **kwargs):
''' Configure all tk buttons within a frame (doesn't work for toplevel?).
level = frame name, eg self.play_btn
**kwargs = tkinter_button.configure(keywords and values). For example:
fg="#000000", bg="#ffffff", padx=5
'''
for k, v in level.children.items():
if isinstance(v, tk.Button):
if v["image"] == "":
# We can't configure image labels that have a value
v.configure(**kwargs)
config_all_buttons(v, **kwargs)
下面是如何从主线或类调用函数:
self.play_frm_bg = self.play_resized_art.getpixel((3,3))
hex_background = img.rgb_to_hex(self.play_frm_bg)
self.play_frm_fg = img.contrasting_rgb_color(self.play_frm_bg)
hex_foreground = img.rgb_to_hex(self.play_frm_fg)
self.play_frm.configure(bg=hex_background)
toolkit.config_all_labels(self.play_frm, fg=hex_foreground, \
bg=hex_background)
toolkit.config_all_buttons(self.play_btn, fg=hex_foreground, \
bg=hex_background)
这是当艺术品有“黑巧克力”色背景时的样子:
以下是当艺术品有“深橙色”背景时的样子:
当艺术品有一个“黄色”背景,迫使文本变成黑色时,它看起来是这样的:
问题内容: 我想知道JavaScript中是否有任何方法可以像这样遍历对象。 但是这样获取每个属性的名称。 我似乎在Google上找不到类似的东西。他们说与他们一起传递变量的名称,但这不是我要实现的选择。 谢谢你的尽心帮助。 问题答案: 使用Object.keys(): 给您一个属于输入对象的属性名称数组。
在 PowerShell 中,如何通过指定对象的名称(字符串)来获取对象的属性值?我想要类似这样的东西: 是否有类似于“获取属性名称”的内容?
问题内容: 目标:按编号从PHP对象中检索数据元素。 这是对象的print_r($ data): 我不知道如何从中获取价值。这只是多记录对象的一条记录,应该使用id而不是名称。 这些是尝试失败的尝试,以说明目标是什么: 问题答案: 通常,PHP变量名称不能以数字开头。您也不能像未实现那样将其作为数组访问-这只是一个普通的基类。 但是,在这种情况下,您可以尝试按其数字名称访问对象属性,如下所示: 我
问题内容: 例如,我有: 然后,例如,我要通过对该对象进行 排序/反转。然后我想得到这样的东西: 现在,我想知道具有属性的对象的索引,以获取属性标记的值。 我该如何解决这个问题? 问题答案: 正如其他答案所暗示的那样,遍历数组可能是最好的方法。但是我会把它放在它自己的函数中,并使它更抽象一些: 这样,您不仅可以找到包含“ John”的一个,而且可以找到包含令牌“ 312312”的一个: 编辑: 未
本文向大家介绍Python通过getattr函数获取对象的属性值,包括了Python通过getattr函数获取对象的属性值的使用技巧和注意事项,需要的朋友参考一下 英文文档: getattr(object, name[, default]) Return the value of the named attribute of object. name must be a string. If th
4.4. 通过 getattr 获取对象引用 4.4.1. 用于模块的 getattr 4.4.2. getattr 作为一个分发者 你已经知道 Python 函数是对象。 你不知道的是,使用 getattr 函数,可以得到一个直到运行时才知道名称的函数的引用。 例 4.10. getattr 介绍 >>> li = ["Larry", "Curly"] >>> li.pop