TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #381 · 23 окт.

Установить свойства виджета в PySide можно не только через соответствующие методы и конструктор класса. Можно их изменять с помощью метода setProperty по имени. btn = QPushButton("Click Me") btn.setProperty("flat", True) Это аналогично вызову btn.setFlat(True) Если указать несуществующее свойство, то оно просто создается btn.setProperty("btnType", "super") Получить его значение можно методом .property(name) btn_type = btn.property("btnType") Когда это может быть полезно? ▫️Можно просто хранить какие то данные в виджете и потом их доставать обратно widget = QWidget() widget.setProperty('my_data', 123) print(widget.property('my_data')) ▫️ Назначая эти свойства разным виджетам можно потом отличить виджеты во время итераци по ним. Например, найти все кнопки со свойством my_data="superbtn". Но ведь вместо кастомного свойства можно использовать objectName, будет тот же результат. Да, но y ObjectName есть ограничение - только строки. ▫️ Если нам потребуется не просто поиск а, например, сортировка по числу, то свойства позволяют нам это сделать. Поддерживается любой тип данных widget.setProperty('my_data', {'Key': 'value'}) widget.setProperty('order', 1) all_widgets.sort(key=w: w.property('order')) Но ведь Python позволяет всё вышеперечисленное сделать простым созданием атрибута у объекта widget.order = 1 widget.my_data = 123 Да, но я думаю что не надо объяснять почему не стоит так делать. К тому же, если у виджета нет свойства то метод .property(name) вернет None, а отсутствующий атрибут выбросит исключение. ▫️ Действительно полезное применение кастомным свойствам - контроль стилей. Здесь атрибутами не обойтись, нужны именно свойства. Дело в том, что в селекторах стилей можно указывать конкретные свойства виджетов на которые следует назначать стиль. Просто запустите этот код from PySide2.QtWidgets import * if __name__ == "__main__": app = QApplication([]) widget = QWidget(minimumWidth=300) layout = QVBoxLayout(widget) btn1 = QPushButton("Action 1") btn2 = QPushButton("Action 2") btn3 = QPushButton("Action 3", flat=True) layout.addWidget(btn1) layout.addWidget(btn2) layout.addWidget(btn3) # добавим кастомное свойство одной кнопке btn1.setProperty("btnType", "super") # добавляем стили widget.setStyleSheet( """ QPushButton[btnType="super"] { background-color: yellow; color: red; } QPushButton[flat="true"] { color: yellow; } """ ) widget.show() app.exec_() С помощью селектора мы избирательно назначили стили на конкретные кнопки. Как получить список всех кастомный свойств? Функция получения списка кастомных свойств отличается от получения дефолтных. def print_widget_dyn_properties(widget): for prop_name in widget.dynamicPropertyNames(): property_name = prop_name.data().decode() property_value = widget.property(property_name) print(f"{property_name}: {property_value}") #tricks#qt

Hashtags

Резултати

Пронајдени 3 слични објави

Пребарај: #marinetech

当前筛选 #marinetech清除筛选

🚢AKVA Group заключила стратегическое партнёрство по бетонным кормовым баржам. Норвежская AKVA Group подписала соглашение о стратегическом сотрудничестве с DOKK Husøy на поставку бетонных кормовых барж для аквакультурной отрасли. За последние шесть лет DOKK Husøy изготовила и передала более 40оффшорных бетонных барж различным заказчикам. Партнёрство охватывает в первую очередь Скандинавию и Шотландию и позволит AKVA Group предлагать фермерам решения как в стальном, так и в бетонном исполнении. По словам руководства, бетонный сегмент демонстрирует растущую долю рынка, а расширение линейки повышает гибкость при эксплуатации в различных гидрологических и производственных условиях. Соглашение отражает диверсификацию продуктового портфеля AKVA Group и адаптацию к изменяющимся требованиям аквакультуры. 📌AKVA Group основана в 1974 году в Норвегии и является одним из ведущих мировых поставщиков технологических решений для рыбоводства. Компания публичная (листинг в Осло); крупнейшими акционерами выступают норвежские институциональные инвесторы. 📌DOKK Husøy создана в 2017 году и базируется на острове Хусёй (муниципалитет Кармёй, регион Ругаланн, Норвегия) - частная норвежская верфь, специализирующаяся на бетонных баржах для аквакультуры; контролируется местными частными акционерами. #aquaculture#offshore#Norway#marinetech#AKVA

🚢Гибридный буксир компании Østensjø Rederi получит финскую установку Steerprop. Испанская верфь GONDAN Shipbuilders заказала у финской Steerprop систему движителей для нового гибридного буксира, строящегося для норвежского судовладельца Østensjø Rederi. Судно станет первым буксирным проектом от проектного бюро Skipsteknisk и будет оснащено двухсторонними азимутальными движителями SP 50 WD - самыми мощными в линейке Steerprop. Конфигурация позволяет работать на дизеле, электродвигателе или в комбинированном режиме. Основные характеристики: ✔️ Тяговое усилие: 150 тонн. ✔️ DP2 динамическое позиционирование. ✔️ Приоритет электрического режима в стандартных операциях. ✔️ Дизельный агрегат - предназначен для пиковых нагрузок. Проект ориентирован на повышение энергоэффективности и снижение выбросов в сегменте оффшорных буксировочных работ.. 📌Østensjø Rederi основана в 1974 году в Норвегии и является частной компанией, контролируемой семьёй Эстеншё (Østensjø). #tugboat#hybridpropulsion#offshore#NorwayShipping#marinetech

🚢 Trident Aqua Services ввела в эксплуатацию крупнейший wellboat Шотландии — "Inter Alba". Норвежская компания поддержки аквакультуры Trident Aqua Services начала коммерческую эксплуатацию нового батарейного гибридного судна для аквакультуры "Inter Alba" в Шотландии. Судно длиной 93 метра - было построено на турецкой верфи Sefine Shipyard и передано в декабре 2025 года. При вместимости живых танков около 6500 м³, "Inter Alba" является крупнейшим судном типа "wellboat" (для обработки рыбы) в регионе. Проект разработан Salt Ship Design. Судно оснащено крупным батарейным пакетом в сочетании с системой рекуперации тепла, что снижает расход топлива и выбросы. Ключевые технические решения: ✔️ Производство пресной воды до 15 000 м³/сутки (RO-система от Peter Taboada) ✔️ Системы обработки рыбы от MMC First Process ✔️ FLS-системы делузинга от Flatsetsund Engineering ✔️ Фильтрация до 52 800 м³/ч. Судно будет обслуживать фермы Mowi в Шотландии. 📌Trident Aqua Services — частная норвежская компания, специализирующаяся на эксплуатации судов обслуживания рыбных ферм, включая тип "wellboat" и иных сервисных судов для аквакультуры. Компания контролируется норвежскими частными акционерами. #aquaculture#wellboat#hybridvessel#Scotland#marinetech