Найти - Пользователи
Полная версия: PyQT4 TableView и AbstractModel
Начало » GUI » PyQT4 TableView и AbstractModel
1
annndrey
Добрый день.
Есть база, оттуда в AbstractModel и Table View извлекаются данные.
Возник вопрос - как сделать ячейки TableView редактируемыми? В частности, после двойного щелчка по ячейке хотелось бы, чтобы значение, содержавшееся в ней, можно было бы исправить.
apologize828
Погляди вот этот пример тут все норм только тут QStandardItemModel.
тут фишка в одной строчке:
table.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)
если ее написать то редактирование не доступно, если закоментить то редактирование доступно
Посмотри в этом направлении:
Пример:
#!usr/bin/python
#-*- coding: utf-8 -*-

import sys
from PyQt4 import QtGui,QtCore

if __name__ == "__main__":

app = QtGui.QApplication(sys.argv)

phonebook = {"Олег": "Красноярск",
"Вася": "Воронеж",
"Петя": "Москва"}

model =QtGui.QStandardItemModel(3,2)
row = 0

for name, address in phonebook.items():

model.setData(model.index(row, 0), name)
model.setData(model.index(row, 1), address)
row += 1

model.setHeaderData(0, QtCore.Qt.Horizontal, "Имя")
model.setHeaderData(1, QtCore.Qt.Horizontal, "Адрес")

table = QtGui.QTableView()
table.setModel(model)
table.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)
table.show()

app.exec_()
annndrey
Спасибо. + при наследовании от AbstractTableModel необходимо вручную переписывать методы setData и flags, чтобы определить способ, которым будут редактироваться данные и сделать ячейки таблицы редактируемыми
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB