多个单元格的PySide QTableView setData

时间:2016-11-24 09:08:48

标签: python qt pyside qtableview qabstracttablemodel

我正在使用'use strict' const Promise = require('bluebird'); const chai = require('chai') chai.use(require('chai-string')) chai.use(require('chai-as-promised')); const expect = chai.expect; chai.should(); const healthyCheck = require('./healthyCheck'); const resp = {status:'OK'}; const resp2 ={status: 'FAIL'}; describe('healthy-check end point', () => { it('should return successful response when connected to database', function() { this.timeout(3000); return healthyCheck.dbStatusSuccess() .then((res) => { console.log(JSON.stringify(res, undefined, 2)); return expect(res).to.equal(resp); }).catch( (err) => { console.log(err); return expect(err).to.deep.equal(resp2); }); }); }); 并对QTableView进行细分。在编辑单元格时,我注意到QAbstractTableModel仅通过最后选择的单元格。有没有办法让QAbstractTableModel.setData使用多个(选定的)单元格?

作为使用示例:

  • 从表格中选择四个单元格。
  • 开始编辑一个单元格。
  • 输入一个值并按Enter键进行提交。
  • 有值修改所有四个单元格(目前它只是修改最后选择的单元格)

我尝试了对setData进行子类化,然后循环遍历closeEditor以使用selectedIndexes调用它们,但我不知道如何从{{1}获取用户的输入值}。

这是我的尝试,几乎得到它,只需要输入值。

setData

2 个答案:

答案 0 :(得分:2)

editor信号中的closeEditor是用于编辑的小部件。

如果是,例如QLineEdit,您可以通过其text属性阅读该文本。

检索属性值的一种方法是通过QObject的属性API

value = editor.property("text")

答案 1 :(得分:0)

编辑:我使用此作为解决方法,因为PySide中存在一个错误,其中[SECTION .text] global _start _start: xor eax, eax xor ebx, ebx xor edx, edx xor ecx, ecx xor ebp, ebp mov eax, 5 ;open file mov ebx, file_name mov ecx, 0 mov edx, 0777 int 0x80 mov [fd_in], eax xor eax, eax ;read from file mov eax, 3 mov ebx, [fd_in] mov ecx, info mov edx, 26 int 0x80 mov eax, 4 ;write flag mov ebx, 1 mov ecx, info mov edx, 26 int 0x80 mov al, 1 ;exit int 0x80 [SECTION .data] file_name db 'this_is_pwnable.kr_flag_file_please_read_this_file.sorry_the_file_name_is_very_loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo0000000000000000000000000ooooooooooooooooooooooo000000000000o0o0o0o0o0o0ong' [SECTION .bss] fd_in resb 1 info resb 26 仅返回editor。请看看Kevin Krammer的回答!

虽然这是一个小小的工作,但我到目前为止的解决方案似乎工作得很好。如果有更好的方法,请告诉我,这有点啰嗦。

QWidget中,我将每个单元格传递给closeEditor setData作为值。

然后在None我有一个变量QAbstractTableModel,它将存储用户要输入的其余单元格的输入。

_input_value