root = Tk()
my_dict = {'Drosophila melanogaster':1
'Danio rerio': 2,
'Caenorhabditis elegans':3,
'Rattus norvegicus': 4,
'Mus musculus': 5,
'Homo sapiens': 6,
}
combobox_values = "\n".join(my_dict.keys())
organism = ttk.Combobox(root, values=combobox_values)
organism.grid(row=2, column=0, sticky="w", padx=2, pady=2)
我试图使用每个字典键作为组合框中的一个选项,但是当我运行脚本时,每个单词都变成了一个单独的选项。 如果有人能告诉我我做错了什么,我会非常感激的?在
你很亲密!在
应该是
^{pr2}$通过使用join,可以从字典中获取所有键,然后将它们放入一个字符串中!当Tkinter试图勾勒出字符串时,它决定空格与分解项的换行符一样好。在
要真正找到引擎盖下的轮廓线有点棘手。The official docs don't mention
检查源代码
Combobox
继承自Entry
小部件,但两者都对底层tcl进行原始调用。New Mexico(通常是有信誉的)声称这些值需要在列表中,但显然字符串也可以。由于strings and lists are very similar in python,ttk采用的失败-缓慢方法似乎是合适的。。。但它不能回答这个问题。。。在事实上,这里有一个有趣的游戏:尝试破坏构造函数。传递一个随机数?以下所有工作
在进一步研究之后,最后一个python调用发生在
Tkinter.py
的第2058行(或者说,取决于实现)。如果你真的很好奇,你可以从tcl docs到{a6},特别是“保留额外项目数据”一章,看看这些事情是如何发生的,为什么会这样在后两种方法中,display方法清楚地表明,输入被包装成自己的字符串表示(与新墨西哥州的解释一致),但是底层方法仍然是回避的
相关问题 更多 >
编程相关推荐