1

我正在寻找将成为 Python 桌面应用程序一部分的 GUI 功能。

该功能是一个文本树,在各个节点之间具有拖放功能。此外,我希望能够将带有较长文本的注释附加到树中的各个节点。笔记可以切换到展开或折叠状态。

除了可切换的注释之外,它在这个NestedSortable JQuery 库中完全显示。

根据这个特性,你能告诉我当代 Python GUI 的可能性是什么吗?我更喜欢 JQuery 示例中具有现代外观的轻量级 GUI。

哪个 GUI 最适合这项任务?Tkinter, wxPython,pyQt还是pyGTK其他?或者你会选择一些 GUI +Javascript库吗?为什么您更喜欢GUI实现所要求的功能和轻量级的现代设计?

4

2 回答 2

2

pyQT 的 QTreeWidget 或 MVC 设置为此提供了一个很好的解决方案。QTreeWidget 最简单:

这是一个使用 PyQt4 的小例子

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *

class MainWindow(QMainWindow):
    def __init__(self):
        QMainWindow.__init__(self)
        self.treewidget = QTreeWidget(self)
        self.treewidget.setHeaderLabels(['a'])
        self.treewidget.setDragEnabled(True)
        self.treewidget.setAcceptDrops(True)
        self.treewidget.setDropIndicatorShown(True)
        self.treewidget.resize(300,300)
        self.titems = []
        for i in xrange(100):
            if not i%10:
                pitem = QTreeWidgetItem(self.treewidget,["Parent %d"%i])
                self.titems.append(pitem)
            else:
                item = QTreeWidgetItem(pitem,["Child of %d"%i])
                self.titems.append(item) 
        self.show()

app = QApplication(sys.argv)
w = MainWindow()
app.exec_()
于 2013-04-08T20:32:27.673 回答
0

尝试使用etetoolkit。它简单得多。

于 2017-03-21T14:33:58.830 回答