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

Резултати

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

Пребарај: #ssj

当前筛选 #ssj清除筛选
Лёгкое небо

@legkoenebo · Post #3788 · 24.04.2025 г., 16:02

В Комсомольске-на-Амуре успешно прошёл первый полёт полностью импортозамещённого регионального самолёта SJ-100, разработанного ПАО «Яковлев». Это уже третий опытный борт (№97003), на котором заменены порядка 40 иностранных систем, включая двигатели - установлены российские ПД-8. Испытания длились около 40 минут: самолёт поднялся на 3000 м, развил скорость до 500 км/ч и успешно выполнил проверку всех ключевых систем — от управления и гидравлики до авионики и кондиционирования. Особое внимание уделили отработке взаимодействия новых двигателей с российскими системами. Все задачи были выполнены без замечаний. Летал экипаж под руководством заслуженного лётчика-испытателя Сергея Завалкина. Он отметил хорошую управляемость и устойчивость борта. На SJ-100 заменены не только двигатели, но и большинство критически важных узлов, включая системы электроснабжения, противопожарной защиты, шасси и авионику. Также модернизирован фюзеляж для упрощения производства и обслуживания. Сейчас в испытательной программе задействованы три самолёта в разных конфигурациях: с новыми системами, с новыми двигателями и в полностью импортозамещённом виде. Серийные поставки планируются с 2026 года. Лёгкое небо #aviation#ssj#ГА

Лёгкое небо

@legkoenebo · Post #3984 · 01.06.2025 г., 15:01

Путь к независимости в российской авиации Сегодня пойдёт речь о Российском региональном лайнер Сухой Superjet 100, был задуман как альтернатива западным моделям, таким как Embraer и Bombardier. Проект стартовал с большими надеждами, а первый полёт состоялся ещё в 2008 году. С тех пор проект претерпел немало изменений, но он продолжает оставаться в центре внимания. SSJ100 стал первым гражданским самолётом, разработанным в России после распада СССР. Он рассчитан на 75–95 пассажирских кресел и ориентирован на региональные перевозки. Новый шаг в отечественном авиастроении наступил с приходом модификации Ssj-New. В ответ на санкции и стремление к независимости, компания начала работу над новой версией самолёта. Это самолёт с полностью российскими комплектующими, включая новый двигатель ПД-8, который должен сделать проект более устойчивым в условиях глобальной политической нестабильности. Планы на запуск первого полёта SSJ-New уже в ближайшие годы вызывают оптимизм у ОАК. Лёгкое небо | Буст #aviation#ssj#РосТех

Лёгкое небо

@legkoenebo · Post #4236 · 24.09.2025 г., 20:07

❗️A330 Hainan Airlines повредил руль направления SSJ100 авиакомпании Россия 📌Самолёт резко затормозил, на борту в этот момент было около 100 пассажиров. Людей почти 40 минут держали в салоне, после чего эвакуировали обратно в терминал, а борт отбуксировали на стоянку. 🔹По предварительным данным Airbus A330 Hainan Airlines, вылетающий в Пекин, во время руления совершил соударение с хвостовой частью Superjet 100 (рег.RA-89112), вылетающего в Санкт-Петербург рейсом FV6097. Вопреки сообщениям из других СМИ, борт находился на стоянке Лёгкое небо #aviation#aircrash#ssj

Лёгкое небо

@legkoenebo · Post #4285 · 29.10.2025 г., 07:42

🇮🇳Москва и Нью-Дели договорились о производстве гражданских самолётов SJ-100 в Индии. 📌Меморандум о взаимопонимании по этому вопросу подписали в Москве ОАК и индийская госкорпорация Hindustan Aeronautics Limited (HAL). Она сможет выпускать самолёты для внутренних заказчиков. ⏺Это станет первым случаем полного производства пассажирского самолёта в Индии. ⏺Последний подобный проект в стране завершился в 1988 году, заявила HAL в X. Лёгкое небо #aviation#ssj#India

Лёгкое небо

@legkoenebo · Post #4277 · 23.10.2025 г., 18:32

✈️ Авиакомпания «Ямал» встречает новый этап своей истории — с обновлённым обликом и современным стилем. 📌Новый логотип, ливрея, форма экипажей, оформление стоек и социальных сетей — всё это отражает надёжность, северный характер и заботу о пассажирах. ⏺Первый шаг ребрендинга уже сделан: обновлённый Сухой Суперджет (RA-89090) выполнил свой первый рейс в Салехард. ⏺Ямал сохранил узнаваемый образ «мишколётов», добавив к нему свежие элементы нового бренда — ведь авиакомпания бережно хранит историю и слушает своих пассажиров. ⏺Обновлённый Airbus A320 готовится примерить новый облик, а обновления уже появляются в аэропортах, сервисе и на сайте. Этот ролик — взгляд в будущее, которое начинается прямо сейчас. Авиакомпания меняется, но лучшее берёт с собой. Добро пожаловать в обновлённый «Ямал»! 💙 Лёгкое небо #aviation#ssj#A320#Ямал