|
3 | 3 | from ui.ui_score_board import Ui_Form |
4 | 4 | from ui.uiComponents import RoundQWidget |
5 | 5 | from safe_eval import safe_eval |
6 | | -from PyQt5.QtWidgets import QTableWidgetItem |
| 6 | +from PyQt5.QtWidgets import QTableWidgetItem, QShortcut, QHeaderView, QAbstractItemDelegate |
7 | 7 | from PyQt5 import QtCore, QtGui |
8 | | -from PyQt5.QtWidgets import QShortcut, QHeaderView |
9 | 8 |
|
10 | 9 | class ui_Form(Ui_Form): |
11 | 10 | # barSetMineNum = QtCore.pyqtSignal(int) |
@@ -305,13 +304,18 @@ def __table_change(self, e): |
305 | 304 | self.ui.tableWidget.editItem(self.ui.tableWidget.item(r, 0)) |
306 | 305 |
|
307 | 306 | def __table_ok(self, e = None): |
308 | | - # 编辑完成后的回调,e == None表示是回车键结束的 |
309 | | - if e == None or (self.editing_row >= 0 and self.editing_column >= 0 and (self.editing_row != e.row() or\ |
| 307 | + # 编辑完成后的回调,e is None表示是回车键结束的 |
| 308 | + if e is None or (self.editing_row >= 0 and self.editing_column >= 0 and (self.editing_row != e.row() or\ |
310 | 309 | self.editing_column != e.column())): |
311 | 310 | # 编辑完成后修改指标值 |
312 | | - # self.ui.tableWidget.setDisabled(True) |
313 | | - # self.ui.tableWidget.setDisabled(False) |
314 | | - new_formula = self.ui.tableWidget.item(self.editing_row, self.editing_column).text() |
| 311 | + editor = self.ui.tableWidget.focusWidget() |
| 312 | + if editor is not None and hasattr(editor, 'text'): |
| 313 | + new_formula = editor.text() |
| 314 | + self.ui.tableWidget.closeEditor(editor, QAbstractItemDelegate.SubmitModelCache) |
| 315 | + else: |
| 316 | + item = self.ui.tableWidget.item(self.editing_row, self.editing_column) |
| 317 | + new_formula = item.text() if item is not None else '' |
| 318 | + |
315 | 319 | if self.editing_column == 0: |
316 | 320 | if not new_formula: |
317 | 321 | # 删除键名后并完成编辑后,删除此指标 |
|
0 commit comments