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

Резултати

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

Пребарај: #cirium

当前筛选 #cirium清除筛选
Bloomberg4you

@Bloomberg4you · Post #46791 · 16.08.2025 г., 09:23

В 1981 году, когда Airbus SE объявила о строительстве нового узкофюзеляжного реактивного самолёта, чтобы составить конкуренцию Boeing Co., 737-я модель была на пике популярности. Узкофюзеляжный самолёт американского производства, который использовался уже более десяти лет, изменил авиационную отрасль, сделав более короткие маршруты более дешёвыми и прибыльными. К 1988 году, когда Airbus начал производить свой новый самолёт A320, #Boeing значительно опережал конкурента, поставив около 1500 своих бестселлеров сигарообразной формы. На это ушло почти четыре десятилетия, но #Airbus наконец-то догнал своего конкурента: по данным авиационной консалтинговой компании #Cirium, серия A320 вот-вот обгонит своего американского конкурента и станет самым продаваемым коммерческим авиалайнером в истории. По состоянию на начало августа Airbus сократил отставание всего до 20 единиц, а общее количество поставленных самолётов семейства A320 составило 12 155. Эта разница, скорее всего, исчезнет уже в следующем месяце. «Мог ли кто-нибудь тогда предположить, что он станет номером один — и при таких высоких объёмах производства?» - написал об A320 в недавнем посте в социальных сетях Макс Кингсли-Джонс, глава консультационного отдела Cirium Ascend. «Я точно не предполагал, и, вероятно, Airbus тоже». Успех A320 отражает многолетний путь европейского производителя самолётов от начинающего производителя до серьёзного конкурента и, наконец, до лидера по отношению к Boeing. К началу 2000-х годов ежегодные поставки A320 и его модификаций превысили поставки семейства 737; в 2019 году общее количество заказов превзошло количество заказов на Boeing. Но 737 упорно оставался самым продаваемым коммерческим самолётом всех времён. С самого начала Airbus столкнулся с серьёзными трудностями. Европейский авиастроитель, объединение аэрокосмических производителей, созданное в 1970 году при поддержке европейских правительств, ещё не предлагало полный модельный ряд самолётов. Разногласия препятствовали всему — от планирования продукции до производства, а решения руководства должны были обеспечивать баланс между коммерческими и политическими интересами Франции и Германии. Однако уже тогда было ясно, что Airbus необходимо закрепиться в сегменте узкофюзеляжных самолётов, чтобы стать главным конкурентом Boeing. Эти самолёты на сегодняшний день являются самой распространённой категорией в коммерческой авиации и обычно используются для коротких перелётов между городами. Согласно истории Airbus, написанной журналисткой Николой Кларк, рост цен на топливо и отмена государственного регулирования авиационной отрасли в США в конце 1970-х годов открыли перед европейским производителем самолётов возможности для сотрудничества с руководителями американских авиакомпаний, которые настаивали на создании совершенно нового узкофюзеляжного самолёта. Чтобы выделить A320 на фоне других самолётов, Airbus пошёл на определённый риск. Компания выбрала цифровое электродистанционное управление, которое было легче традиционных гидравлических систем, и предоставила пилотам боковой штурвал, расположенный справа или слева, вместо центрального рычага управления. Самолёт также был выше 737-й модели и оснащался двумя двигателями на выбор, что обеспечивало клиентам большую гибкость. Риск Airbus оправдал себя. Сегодня на долю A320 и 737 приходится почти половина мирового парка пассажирских самолётов. Успех A320 контрастирует со стратегическими просчётами, такими как гигантский A380, который просуществовал недолго, потому что авиакомпании не могли рентабельно эксплуатировать этот гигантский самолёт. Компания Boeing утверждала, что более компактные и манёвренные самолёты, такие как 787 Dreamliner, будут иметь преимущество, и это предсказание оказалось верным. @aeconomicsa