Fixed the crash occurring when 'NaN' has to be displayed in the 'Table of values' table of the 'Acoustic data' tab.

dev-bjvincent-fix-UBSediFlow
Bjarne Vincent 2025-10-21 11:16:58 +02:00
parent ab66158a60
commit 127dcde098
1 changed files with 7 additions and 10 deletions

View File

@ -1,5 +1,5 @@
from PyQt5.QtCore import Qt, QAbstractTableModel
import numpy as np
class TableModel(QAbstractTableModel):
def __init__(self, data):
@ -9,20 +9,17 @@ class TableModel(QAbstractTableModel):
def data(self, index, role):
if role == Qt.DisplayRole:
value = self._data.iloc[index.row(), index.column()]
# if role == Qt.TextAlignmentRole:
# value = self._data.iloc[index.row(), index.column()]
# if isinstance(value, int) or isinstance(value, float):
# return Qt.AlignVCenter + Qt.AlignRight
if isinstance(value, float):
if np.isnan(value):
return "NaN"
# Render float to 2 dp
if len(str(value).split(".")[1]) <= 3:
elif len(str(value).split(".")[1]) <= 3:
return "%.2f" % value
else:
return "%.2e" % value
# if isinstance(value, str):
# # Render strings with quotes
# return '"%s"' % value
return value
@ -41,4 +38,4 @@ class TableModel(QAbstractTableModel):
if orientation == Qt.Horizontal:
return str(self._data.columns[section])
if orientation == Qt.Vertical:
return str(self._data.index[section])
return str(self._data.index[section])