В фреймворке PyQt (и PySide тоже) часто встречается настройка чего-либо с помощью так называемых флагов.
widget.setWindowFlags(Qt.Window)
Взаимодействие нескольких флагов делается с помощью бинарных (или побитовых) операторов.
Несколько флагов можно указать с помощью оператора "|"
list_item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
исключить флаг из уже имеющегося набора можно так
list_item.setFlags(list_item.flags() ^ Qt.ItemIsEnabled)
Добавить новый флаг к имеющимся можно так
list_item.setFlags(list_item.flags() | Qt.ItemIsEnabled)
А проверка наличия делается так
is_enabled = item.flags() & Qt.ItemIsEnabled > 0
Почему именно так? Всё дело в том как именно работают побитовые операторы. Но об этом в следующем посте.
#qt
Евдокимов - Фотограф-велосипедист (1913).
Прогулки и путешествия на велосипеде с фотографическим аппаратом. Практические советы и указания для любителей-фотографов.
https://archive.org/details/evdokimov_photobike
https://book.museumart.ru/mok/1m/1m/photograf-velosipedist/html5forpc.html
https://disk.yandex.ru/d/-PU2F0nmuNKe3g
#lib
Обновление 22 августа - 28 августа
Коммерция
#коммерция#технология#армирование#моделирование_кр
Опубликована новая инструкция Моделирование выпусков автостоянки сквозным неразрезным армированием
Инструкция описывает технологию моделирования выпусков автостоянки из фундаментной плиты, которые продолжаются неразрезным армированием в вышестоящих вертикальных конструкциях (пилонах или колоннах).
#коммерция#технология#lib-файлы
Опубликована новая инструкция Подготовка lib-файла к работе
❗️Обязательна к ознакомлению!
Инструкция описывает шаги, которые должен выполнить проектировщик для подготовки lib-файла перед использованием его в проекте.
#коммерция#fm#семейства_кр
Разработаны семейства к альбому технических решений КЖ2.1
Со списком семейств можно ознакомиться по ссылке.