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()运行时发生的所有事情都会发生。对于printCombobox的当前值需要定义一个回调函数(下面代码中的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显示阿拉伯语值:

screenshot showing the Combobox with Arabic values

另一答案

请在文件顶部试试这个:

    # -*- coding: utf-8 -*-
    from __future__ import unicode_literals

以上是关于python tkinter 中的combobox如何添加字典?的主要内容,如果未能解决你的问题,请参考以下文章

python Python,Tkinter:Label,Button,Entry,Combobox,Checkbutton,Radiobutton,ScrolledText

Python:tkinter 之 Listbox & Combobox

修改 Python Tkinter 中的默认字体

Tkinter 之Combobox下拉

python怎么获取其他程序的ComboBox内容

如何用阿拉伯语tkinter Combobox写标签?