Ald*_*llo 1 python treeview user-interface tkinter python-3.x
标题指的是这个问题,我需要使用方法项获取Tkinter TreeView的关键字值下的值,如下所示:,v是我在树视图上的选择。该方法返回一个整数,如果该值之前有零,则它会忽略它们。tree.item(v)[\'values\'][0]
这是我的意思的一个例子:我需要完全按照原样用黄色标记的值 (001) 而不是 (1)。\n打印此“tree.item(v)[\'values\'][0]”将说值是1,但树形视图显示真实值001。我怎样才能获得真实值(001)?谢谢。
\n\n这是代码:
\nfrom tkinter import *\nfrom tkinter import ttk\n\nwindow = Tk()\nwindow.title(\'Treeview\')\nwindow.configure(background=\'Yellow Green\')\n\nttk.Label(window, text=\'There must be colors at some rows:\', \n font=(\'DejaVu Sans\', 11, \'bold\'), background= \'yellow green\').grid(row=0, column=0)\ntree = ttk.Treeview(window, columns=(\'name\', \'surname\', \'telephone\'))\ntree.grid(row=1, column=0)\ntree.heading(\'#0\', text=\'\xce\x91/\xce\x91\')\ntree.heading(\'name\', text=\'Name\')\ntree.heading(\'surname\', text=\'Surname\')\ntree.heading(\'telephone\', text=\'Telephone\')\ntree.insert(\'\', 0, text=\'0001\', values=("001",2230310,"Hello"))\nc = tree.get_children()\nprint(tree.get_children())\nfor v in c:\n print(tree.item(v))\n print(tree.item(v)[\'text\'])\n print(tree.item(v)[\'values\'][0], type(tree.item(v)[\'values\'][0]))\napplication = (window)\nwindow.mainloop()\n
Run Code Online (Sandbox Code Playgroud)\n\n
如果可能的话,tkinter.ttk.Treeview 看起来总是将所有项目转换values
为整数。
两个相关问题,
从 ttk 代码来看,无法通过设置任何选项来停止转换。
所以在这里破解代码,它可能对你有用。在导入之后ttk
和使用之前放置代码ttk.Treeview
。
from tkinter import *
from tkinter import ttk
def _convert_stringval(value):
"""Converts a value to, hopefully, a more appropriate Python object."""
if hasattr(value, 'typename'):
value = str(value)
try:
value = int(value)
except (ValueError, TypeError):
pass
return value
ttk._convert_stringval = _convert_stringval
Run Code Online (Sandbox Code Playgroud)
注意:如果tkinter以后更新相关的东西,可能会不起作用。
归档时间: |
|
查看次数: |
834 次 |
最近记录: |