Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Slav от Март 20, 2006, 23:08



Название: QListView и invalidateHeight() (все версии Qt)
Отправлено: Slav от Март 20, 2006, 23:08
Добрый вечер Уважаемые!
Если кто-то может, то пожалуйста поясните назначение
данной функции!!!  
Я конечно читал: "Анулирует кэшированную общую высоту этого пункта, включая его потомков."
Но хочется слегка подробнее! Заранее благодарен!


Название: QListView и invalidateHeight() (все версии Qt)
Отправлено: BaltikS от Март 21, 2006, 10:24
Да, кажется всё просто, когда устанавливаешь высоту строки, вызывается функция setup, которая автоматически высчитывают высоту столбца. Т.е. если надо изменить высоту надо setup переописать...запретить её вызов в предком, а соответственно функция invalidateHeight, позволяет вернуть стандартную вычисляемую высоту!


Название: QListView и invalidateHeight() (все версии Qt)
Отправлено: comrade от Март 21, 2006, 15:40
У QListViewItem в Qt3, например, есть такое слово totalHeight() для того чтоб найти полную высоту ListViewItem, вместе с видимыми потомками. totalHeight() может использовыаться ListView'ом для отрисовки ListViewItem'ов
totalHeight() чтобы не считать высоту каждый раз (ато это долго) возращает сохраненное значение, а invalidateHeight() заставляет totalHeight() пересчитывать это значение.
invalidateHeight() может вызываться в функциях setHeight() и setOpen()


Название: QListView и invalidateHeight() (все версии Qt)
Отправлено: Slav от Март 21, 2006, 20:02
С толком, с чувством, с расстановкой! Огроменное спасибо!