def __init__(self, view, show_timestamps=True):
QObject.__init__(self, view)
self.view = view
self._timestamps = show_timestamps
delegate = MyDelegate(self.view, self)
delegate.error.connect(self.error.emit)
delegate.attr_written.connect(self.attr_written.emit)
self.settings = QSettings()
self.view.setItemDelegate(delegate)
self.model = QStandardItemModel()
self.model.setHorizontalHeaderLabels(['Attribute', 'Value', 'DataType'])
state = self.settings.value("WindowState/attrs_widget_state", None)
if state is not None:
self.view.header().restoreState(state)
self.view.setModel(self.model)
self.current_node = None
self.view.header().setSectionResizeMode(0)
self.view.header().setStretchLastSection(True)
self.view.expanded.connect(self._item_expanded)
self.view.collapsed.connect(self._item_collapsed)
self.view.setEditTriggers(QAbstractItemView.DoubleClicked)
# Context menu
self.view.setContextMenuPolicy(Qt.CustomContextMenu)
self.view.customContextMenuRequested.connect(self.showContextMenu)
copyaction = QAction("&Copy Value", self.model)
copyaction.triggered.connect(self._copy_value)
self._contextMenu = QMenu()
self._contextMenu.addAction(copyaction)
评论列表
文章目录