Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x tkinter treeview的Highliget行_Python 3.x_Tkinter - Fatal编程技术网

Python 3.x tkinter treeview的Highliget行

Python 3.x tkinter treeview的Highliget行,python-3.x,tkinter,Python 3.x,Tkinter,我有一个树视图,它从combobox中的数据加载它的行, 之后,我不希望treeView中包含组合框中选定值的行高亮显示。 这是我的意思的简单代码: selected_symbol = self.combo.get() children = self.tree.get_children() for item in children: data = self.tree.item(item) if selected_symbol == self.tre

我有一个树视图,它从combobox中的数据加载它的行, 之后,我不希望treeView中包含组合框中选定值的行高亮显示。 这是我的意思的简单代码:

selected_symbol = self.combo.get()
    children = self.tree.get_children()
    for item in children:
        data = self.tree.item(item)
        if selected_symbol == self.tree.item(item, 'text'):
            self.tree.tag_configure('MRO', background="yellow")


def build_tree():
    tree.heading('#0', text='colume 0')
    tree.heading('#1', text='colume 1')
    tree.heading('#2', text='colume 2')
    tree.heading('#3', text='colume 3')

    tree.column('#0')
    tree.column('#1')
    tree.column('#2')
    tree.grid(row=2, columnspan=4, sticky='nsew')
    build_tree_row()


def build_tree_row():
    for data in combo["values"]:
        tree.insert('', 'end', text=data,
                    values="disable", tag=data))


def manege_symbol_select(event):
    print(combo.get())
    highlight_selected_row()


window = tk.Tk()
window.geometry("{0}x{1}+0+0".format(int(window.winfo_screenwidth() / 2), int(window.winfo_screenheight() / 2)))
tree = Treeview(window, columns=("status", 'symbol', 'inventory'))
combo = Combobox(window, values=['row1', 'row2', 'row2'])
combo.current(0)
combo.bind("<<ComboboxSelected>>", manege_symbol_select)
combo.grid(row=3, column=0, sticky='s')
build_tree()
window.mainloop()
selected\u symbol=self.combo.get()
children=self.tree.get_children()
对于儿童中的项目:
数据=self.tree.item(item)
如果选中_symbol==self.tree.item(项目“text”):
self.tree.tag\u configure('MRO',background=“yellow”)
def build_tree():
树标题('#0',text='colume 0')
树标题('#1',text='colume1')
树标题('#2',text='colume2')
树标题('#3',text='colume 3')
tree.column(“#0”)
tree.column(“#1”)
tree.column(“#2”)
tree.grid(行=2,列span=4,sticky='nsew')
构建树行()
def build_tree_row():
对于组合[“值”]中的数据:
插入(“”,'end',text=数据,
values=“disable”,tag=data)
def管理符号选择(事件):
打印(combo.get())
突出显示所选的行()
window=tk.tk()
几何体(“{0}x{1}+0+0.”格式(int(window.winfo_屏幕宽度()/2),int(window.winfo_屏幕高度()/2)))
tree=Treeview(窗口、列=(“状态”、“符号”、“目录”))
combo=Combobox(窗口,值=['row1','row2','row2'])
组合。当前(0)
combo.bind(“,manege\u symbol\u select)
grid(行=3,列=0,粘性=s')
构建树()
window.mainloop()
在function manege_symbol_select中,有一个对highlite_selected_行的函数调用,这是我将要实现的函数


EDIT添加了使用标记和标记配置尝试高亮显示选中行的实现,但bg不工作

所有高亮显示行所需的treeview方法都有文档记录,但您似乎没有尝试过任何方法。我在哪里可以找到官方文档?我试着找它。我还添加了我的尝试,在python解释器中使用tag_configurewithttk imported,您可以执行
print(help(ttk.Treeview))
。另一个很好的帮助来源是。官方文件在这里,虽然不全面:。为tcl/tk编写的规范文档如下:。前面提到的官方文档提供了如何将tcl/tk文档翻译成python的建议。@BryanOakley谢谢vare match,您能理解为什么我的程序能够正常工作吗?