From 83242f2e9dd4fa75b2d3438630b241deac154966 Mon Sep 17 00:00:00 2001 From: Dominik Demuth Date: Wed, 7 Feb 2024 19:09:30 +0100 Subject: [PATCH] update tool tip with new numerical value --- src/gui_qt/data/datawidget/datawidget.py | 14 +++++++++++--- src/gui_qt/data/datawidget/properties.py | 6 +++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/gui_qt/data/datawidget/datawidget.py b/src/gui_qt/data/datawidget/datawidget.py index 20191c7..e24c10d 100644 --- a/src/gui_qt/data/datawidget/datawidget.py +++ b/src/gui_qt/data/datawidget/datawidget.py @@ -613,15 +613,23 @@ class DataWidget(QtWidgets.QWidget, Ui_DataWidget): self.proptable.populate(props) def change_property(self, key1, key2, value): - ids = [item.data(0, QtCore.Qt.ItemDataRole.UserRole) for item in self.tree.selectedItems()] if key2 == 'Value': try: value = float(value) except ValueError: - QtWidgets.QMessageBox.warning(self, 'Invalid entry', - 'Value %r is not a valid number for `value`.' % value) + QtWidgets.QMessageBox.warning( + self, + 'Invalid entry', + f'Value {value!r} is not a valid number for `value`.') return + ids = [] + for item in self.tree.selectedItems(): + ids.append(item.data(0, QtCore.Qt.ItemDataRole.UserRole)) + item.setToolTip(0, str(value)) + else: + ids = [item.data(0, QtCore.Qt.ItemDataRole.UserRole) for item in self.tree.selectedItems()] + self.propertyChanged.emit(ids, key1, key2, value) def uncheck_sets(self, sets: list[str]): diff --git a/src/gui_qt/data/datawidget/properties.py b/src/gui_qt/data/datawidget/properties.py index dd07087..21e3e2d 100644 --- a/src/gui_qt/data/datawidget/properties.py +++ b/src/gui_qt/data/datawidget/properties.py @@ -41,7 +41,7 @@ class PropWidget(QtWidgets.QWidget): idx = table.indexFromItem(item) self.propertyChanged.emit(self.tab.tabText(tab_idx), table.item(idx.row(), idx.column()-1).text(), - item.data(QtCore.Qt.DisplayRole)) + item.data(QtCore.Qt.ItemDataRole.DisplayRole)) @QtCore.pyqtSlot(int) def tab_change(self, idx: int): @@ -66,10 +66,10 @@ class PropTable(QtWidgets.QTableWidget): self.blockSignals(True) for k, v in prop.items(): value_item = QtWidgets.QTableWidgetItem('') - value_item.setData(QtCore.Qt.DisplayRole, v) + value_item.setData(QtCore.Qt.ItemDataRoleDisplayRole, v) key_item = QtWidgets.QTableWidgetItem(k) - key_item.setFlags(QtCore.Qt.NoItemFlags) + key_item.setFlags(QtCore.Qt.ItemDataRole.NoItemFlags) key_item.setForeground(QtGui.QBrush(QtGui.QColor(0, 0, 0))) self.setRowCount(self.rowCount()+1)