def setCellValue(self, line, column, value):
"""
This function is reimplemented to use QTextEdit into the table, thus allowing multi-lines custom GCODE to be stored
@param line: line number (int)
@param column: column number (int)
@param value: cell content (string or int or float)
"""
if column > 0:
#we use QDoubleSpinBox for storing the values
spinbox = CorrectedDoubleSpinBox()
spinbox.setMinimum(0)
spinbox.setMaximum(1000000000) #Default value is 99
computed_value = 0.0
try: computed_value = float(value) #Convert the value to float
except ValueError: pass
spinbox.setValue(computed_value)
else:
#tool number is an integer
spinbox = QSpinBox()
spinbox.setMinimum(0)
spinbox.setMaximum(1000000000) #Default value is 99
computed_value = 0
try:
computed_value = int(value) #Convert the value to int (we may receive a string for example)
except ValueError:
computed_value = self.max_tool_number + 1
self.max_tool_number = max(self.max_tool_number, computed_value) #Store the max value for the tool number, so that we can automatically increment this value for new tools
spinbox.setValue(computed_value) #first column is the key, it must be an int
self.tablewidget.setCellWidget(line, column, spinbox)
评论列表
文章目录