python tkinter 中的combobox如何添加字典?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python tkinter 中的combobox如何添加字典?相关的知识,希望对你有一定的参考价值。
图一:目前程序正常执行图二:正常执行的效果由于有很多字典(都已经准备好数据),我想弄个下拉列表,学生选择不同的单元软件上就显示不同的单词,但是失败了。图三:添加代码后出错,请大神帮忙解决小白问题,谢谢!
comboboxselected事件应该会传入一个event参数,你的go()函数要接收这参数,试试 def go(e): 参考技术A 提供代码可帮调试
如何用阿拉伯语tkinter Combobox写标签?
如何在阿拉伯语python tkinter组合框中编写标签
# -*- coding: UTF-8 -*-
from tkinter import *
from tkinter.ttk import Combobox
v = ["تصنيفات","نصنيفات"]
combo = Combobox(t, values=v, state="readonly")
combo.place(x=758, y=145)
print combo.get()
结果
╩╒غو▌
答案
我无法重现使用Python 2.7.15运行以下代码的问题。它不需要做任何特殊的事情来处理阿拉伯语的价值观。
请注意,Tkinter是事件驱动的,这意味着在mainloop()
运行时发生的所有事情都会发生。对于print
,Combobox
的当前值需要定义一个回调函数(下面代码中的value_changed()
)并将其“绑定”到Tkinter生成的虚拟事件,只要绑定的Combobox
小部件的值发生变化。
#!/usr/bin/env python2
# -*- coding: UTF-8 -*-
from tkinter import *
from tkinter.ttk import Combobox
t = Tk()
t.geometry('1000x600') # Make window big enough to display Combobox.
v = ["تصنيفات","نصنيفات"]
combo = Combobox(t, values=v, state="readonly")
combo.place(x=758, y=145)
def value_changed(event):
""" Combobox callback function. """
print 'combo.get():', combo.get()
combo.bind('<<ComboboxSelected>>', value_changed) # Bind event-handling function.
t.mainloop()
这是一个截图,显示Combobox
显示阿拉伯语值:
另一答案
请在文件顶部试试这个:
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
以上是关于python tkinter 中的combobox如何添加字典?的主要内容,如果未能解决你的问题,请参考以下文章
python Python,Tkinter:Label,Button,Entry,Combobox,Checkbutton,Radiobutton,ScrolledText