Найти - Пользователи
Полная версия: Как удалить ранее установленные делегаты?
Начало » GUI » Как удалить ранее установленные делегаты?
1
Lekks
Привет. Собственно, вопрос в заголовке.
устанавливаю делегаты для столбцов таблицы:
             
self.tab2.setItemDelegateForColumn (5, QtSql.QSqlRelationalDelegate(self.tab2))
self.tab2.setItemDelegateForColumn (4, self.deleg1)
self.tab2.setItemDelegateForColumn (6, self.deleg2)

Каким способом их можно удалить?
PEHDOM
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 );
Lekks
PEHDOM
Вот буквально 20 минут назад до этого додумался)))
 bbb = FlagDelegate()
tv.setItemDelegateForColumn (3, bbb)
print (bbb)
bbb = None
tv.setItemDelegateForColumn (3, None)
print (bbb)
Спасибо)))
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