我正在尝试在2 QTreeWidgetItem
s上显示单个QTreeWidget
实例,该实例最终只显示在第一棵树上的项目,而不会收到通知。我没有看到its API doc谈到限制,如果有的话。有办法解决方法吗?
#!/usr/bin/python
import os
import sys
from PySide.QtCore import QFile
from PySide.QtUiTools import QUiLoader
from PySide.QtGui import QApplication, QTreeWidget, QTreeWidgetItem, QWidget
class MyTreeWidgetItem(QTreeWidgetItem):
def __init__(self, *args):
super(MyTreeWidgetItem, self).__init__()
class MyWidget(QWidget):
def __init__(self, *args):
super(MyWidget, self).__init__()
loader = QUiLoader()
file = QFile('./src/prove_qtreewidget/qtree_mainwidget.ui')
file.open(QFile.ReadOnly)
self.widget_ui = loader.load(file, self)
file.close()
item1 = MyTreeWidgetItem(self)
item1.setText(0, 'Item 1')
_tw1 = self.widget_ui.findChild(QTreeWidget, '_tree_widget_1')
_tw2 = self.widget_ui.findChild(QTreeWidget, '_tree_widget_2')
_tw1.addTopLevelItem(item1)
_tw2.addTopLevelItem(item1)
if __name__ == '__main__':
print("Running in " + os.getcwd() + " .\n")
app = QApplication(sys.argv)
win = MyWidget()
win.show()
app.exec_()
上面的 .ui
文件可用here。
使用Qt 4.8,Ubuntu 12.04
我没有尝试PyQt
绑定,但我只是假设不应该有任何不同的w / o证明。
答案 0 :(得分:0)
你需要的是model and a QTreeView
,它的用途是什么:
模型/视图编程:窗口小部件不维护内部数据容器。他们通过标准化接口访问外部数据,从而避免数据重复。