Форум сайта python.su
есть необходимось отфильтровать таблицу с QTableWidget. Вначале при помощи findItems() отбираю список нужных QTableWidgetItem , а потом в цикле хочу присвоить setRowHidden для ненужных строк. Для этого нужно произвести сранение на соответствие списка нужных с айтемами таблицы. Можно ли их (QTableWidgetItem) сравнивать или это это просто ссылки (адреса) на память и необходимо их приводить к камому-либо типу?
спсб!
Офлайн
Я, пожалуй, начну из далека….
Не ссылочные типы - это самые элементарные (число, строка). Все остальные - ссылочные. Но! Это не значит, что ссылочные типы нельзя сравнивать. Наоборот, вы можете создать свой собственный класс, в котором реализуете пару методов (__eq__, __lt__, __gt__ и др), и объекты этого класса можно будет сравнивать. Хотя в большинстве случаев сравнивать объекты не рекомендуется, хотя бы потому что не для всех (далеко не для всех) описано каким образом производится сравнение, а тыкать наугад - не наша тема.
Далее скажу, что получать список нужных item'ов не обязательно. Лучше взять список НЕнужных, от них получить номер строки (метод row()) и делать эту строку скрытой.
И на последок. QTableWidget - старый подход к работе с таблицей, оставлен для обратной совместимости. Сейчас модно пользовать View/Model подход (QTableView и какая-нибудь моделька).
Офлайн