Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Как удалить ранее установленные делегаты? [RSS Feed]

#1 Дек. 1, 2019 20:21:31

Lekks
Зарегистрирован: 2019-11-30
Сообщения: 12
Репутация: +  2  -
Профиль   Отправить e-mail  

Как удалить ранее установленные делегаты?

Привет. Собственно, вопрос в заголовке.
устанавливаю делегаты для столбцов таблицы:

             
self.tab2.setItemDelegateForColumn (5, QtSql.QSqlRelationalDelegate(self.tab2))
self.tab2.setItemDelegateForColumn (4, self.deleg1)
self.tab2.setItemDelegateForColumn (6, self.deleg2)

Каким способом их можно удалить?

Офлайн

#2 Дек. 2, 2019 09:25:02

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Как удалить ранее установленные делегаты?

Lekks
Каким способом их можно удалить?
если верить документации то никак:
Any existing column delegate for column will be removed, but not deleted. QAbstractItemView does not take ownership of delegate.
https://doc.qt.io/archives/qt-4.8/qabstractitemview.html#setItemDelegate
по идее нужно или перед setItemDelegateForColumn запомнить дефолтоного делегата через itemDelegate() а потом вернуть его, или попробовать установить делегатом 0 или None . ХЗ как в пайтоне правильно но в сишном примере это выглядит так:
table->setItemDelegateForColumn( i, NULL );



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#3 Дек. 2, 2019 10:09:59

Lekks
Зарегистрирован: 2019-11-30
Сообщения: 12
Репутация: +  2  -
Профиль   Отправить e-mail  

Как удалить ранее установленные делегаты?

PEHDOM
Вот буквально 20 минут назад до этого додумался)))

 bbb = FlagDelegate()
tv.setItemDelegateForColumn (3, bbb)
print (bbb)
bbb = None
tv.setItemDelegateForColumn (3, None)
print (bbb)
Спасибо)))

Офлайн

  • Начало
  • » GUI
  • » Как удалить ранее установленные делегаты?[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version