相关疑难解决方法(0)

是否有与 .NET 的 ListView 控件等效的 Tkinter 小部件?

在 .NET 中,有 ListView 控件,它显示带有可点击列标题的多列项目列表,可用于按列按升序或降序对列表进行排序。我需要一个具有完全相同行为的可滚动 Tkinter 小部件,但标准 Tkinter 模块中似乎没有任何具有类似功能的东西。这似乎是一个奇怪的疏忽。有没有像这样的小部件的模块?最需要跨平台解决方案,但最重要的是小部件在 Windows(XP 和 7)上运行良好。

python tk-toolkit tkinter

2
推荐指数
1
解决办法
5719
查看次数

Python 3.3.2 tkinter ttk TreeView每列排序仅按最后一列排序?

我试图得到一个简单的ttk TreeView表,使用标题'command'标签进行每列排序,但它似乎不正常.我正在使用这个问题的答案来实现功能:Tk treeview列排序

我的代码:

import tkinter as tk
from tkinter import ttk

def treeview_sort_column(tv, col, reverse):
    print('sorting %s!' % col)
    l = [(tv.set(k, col), k) for k in tv.get_children('')]
    l.sort(reverse=reverse)

    # rearrange items in sorted positions
    for index, (val, k) in enumerate(l):
        print('Moving Index:%r, Value:%r, k:%r' % (index, val, k))
        tv.move(k, '', index)

    # reverse sort next time
    tv.heading(col, command=lambda: treeview_sort_column(tv, col, not reverse))

cols = ('name', 'path', 'time', 'pb')

root = tk.Tk()
root.geometry("700x500")
listbox = ttk.Treeview(root, columns=cols, show="headings") …
Run Code Online (Sandbox Code Playgroud)

python sorting treeview tkinter ttk

2
推荐指数
1
解决办法
2551
查看次数

python ttk treeview排序数字

我正在尝试使用此问题的答案(Tk树视图列排序)中说明的ttk.Treeview排序函数,它适用于像'abc','bcd','cde'等字符串,但是当我尝试对数字进行排序,最终显示如下:

1
10
11
2
3
...
Run Code Online (Sandbox Code Playgroud)

我想对数据进行排序,使输出为:

1
2
3
...
10
11
Run Code Online (Sandbox Code Playgroud)

我知道treeview列中的值是字符串,我很可能需要在排序之前将它们转换为整数,但我无法弄清楚如何做到这一点.

python sorting treeview tkinter ttk

2
推荐指数
2
解决办法
4802
查看次数

python tkinter treeview 排序树

根据示例和亨利的帮助,我想出了以下代码来对 tkinter 树视图中的树进行排序,但它不起作用。我没有收到任何错误,但树未排序。任何帮助表示赞赏。

def treeview_sort_column(tv, col, reverse):
    l = [(tv.set(k, col), k) for k in tv.get_children('')]
    l.sort(key=lambda t: int(t[0]), reverse=reverse)
    #      ^^^^^^^^^^^^^^^^^^^^^^^

    for index, (val, k) in enumerate(l):
        tv.move(k, '', index)

    tv.heading(col,
               command=lambda: treeview_sort_column(tv, col, not reverse))


def SortTree():

    columns = ('#0',)

    for col in columns:
        tree.heading(col, text=col,
                         command=lambda c=col: treeview_sort_column(tree, c, False))
Run Code Online (Sandbox Code Playgroud)

python sorting tkinter

1
推荐指数
1
解决办法
8806
查看次数

标签 统计

python ×4

tkinter ×4

sorting ×3

treeview ×2

ttk ×2

tk-toolkit ×1