crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QTreeView, Drag and Drop, скрытые столбцы не передаются почему-то
poluna
  опции профиля:
сообщение 15.1.2016, 14:11
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 27
Регистрация: 5.10.2015
Пользователь №: 4458

Спасибо сказали: 1 раз(а)




Репутация:   0  


Всем привет.
В моем классе модели (производной от QStandardItemModel), есть такой код:
def dropMimeData(self, data, action, row, column, parent):
        if action == QtCore.Qt.IgnoreAction:
            return True
        if not data.hasFormat("application/draganddropdata.text.list"):
            return False

        encodedData = data.data("application/draganddropdata.text.list")
        stream = QtCore.QDataStream(encodedData, QtCore.QIODevice.ReadOnly)

        items = []
        while not stream.atEnd():
            text = stream.readQVariant().toString().toUtf8()
            items.append(str(text))
        if len(items) > 0:
            self.emit(QtCore.SIGNAL('treeDropData'), items)

        return True
Данный код работает.

Проблема в том, что если я скрываю столбцы у QTreeView, то в items данные из скрытых столбцов не попадают, а хотелось бы!
Как получать все столбцы, даже скрытые в dropMimeData из data?

Столбцы скрываю так: tree.hideColumn(n)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
lanz
  опции профиля:
сообщение 15.1.2016, 17:51
Сообщение #2


Старейший участник
****

Группа: Участник
Сообщений: 690
Регистрация: 28.12.2012
Пользователь №: 3660

Спасибо сказали: 113 раз(а)




Репутация:   8  


Что то вроде:
rows = set()
for index in indexes:
  if index.isValid():
    rows.add(index.row)

for row in rows:
  // write row to stream

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.11.2024, 0:13