Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何防止在双击时清除QTableView项_Python_Qt_Model_Pyqt_Qtableview - Fatal编程技术网

Python 如何防止在双击时清除QTableView项

Python 如何防止在双击时清除QTableView项,python,qt,model,pyqt,qtableview,Python,Qt,Model,Pyqt,Qtableview,使用QAbstractTableModel的标志()方法将QTableView设置为可编辑: def flags(self, index): return Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsEditable 双击QTableView的项将此项置于编辑模式。默认情况下,预先存在的字符串将从字段中消失,并且整个项目为空。我想知道这种行为是否可以避免或克服 以下是用户双击QTableView字段之前的字段: 以下是双击时的外

使用QAbstractTableModel的
标志()
方法将QTableView设置为可编辑:

def flags(self, index):
    return Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsEditable
双击QTableView的项将此项置于编辑模式。默认情况下,预先存在的字符串将从字段中消失,并且整个项目为空。我想知道这种行为是否可以避免或克服

以下是用户双击QTableView字段之前的字段:

以下是双击时的外观:

编辑的工作代码(非常感谢):

使用EditRole调用时,需要设置数据的返回值:

def data(self, index, role):
    if not index.isValid(): return false
    row=index.row()
    if row>len(self.items): return false

    if role == Qt.DisplayRole or role == Qt.EditRole:
        return self.items[row]

@Sputnix如果要为两个角色返回相同的文本,则应在相同的if语句下执行此操作。减少重复代码:)好的!固定的!再次感谢!您使用的python\pyqt版本是什么?我的版本从所有这些QVariant中抛出了很多错误\警告
def data(self, index, role):
    if not index.isValid(): return false
    row=index.row()
    if row>len(self.items): return false

    if role == Qt.DisplayRole or role == Qt.EditRole:
        return self.items[row]