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 слични објави

Пребарај: #fleetexpansion

当前筛选 #fleetexpansion清除筛选

🚢Velos Shipping усиливает флот покупкой танкера у Scorpio на фоне нестабильности рынка. Греческая Velos Shipping, основанная судовладельцем Paschalis Diamantidis, продолжает наращивать флот, приобретя танкер у Scorpio. Сделка стала уже пятой с ноября и увеличила общий флот компании почти до 20 судов (включая балкеры и танкеры). Рынок M&A в судоходстве сохраняет активность, несмотря на волатильность, вызванную ситуацией на Ближнем Востоке. При этом участники отмечают усложнение сделок — баланс между ожиданиями покупателей и продавцов становится менее предсказуемым. С операционной точки зрения, стратегия Velos Shipping отражает попытку занять позиции на рынке на фоне циклической неопределённости, используя возможности для покупки активов в условиях ценовой турбулентности. 📌Velos Shipping — греческая судоходная компания, основана в 2019 году предпринимателемPaschalis Diamantidis, находится в частной собственности основателя. #Shipping#Tankers#DryBulk#Greece#FleetExpansion

🚢Maple Leaf Shipping увеличила флот компании покупкой своего первого балкера типоразмера Newcastlemax. Китайская Maple Leaf Shipping отметила 70-летие компании - приобретением крупнейшего судна в своей истории — балкера типоразмера Newcastlemax "ES Bright Sea" (206,300 DWT, ex-"Cape Merlin", 2005 г.). Сделка отражает ускоренную экспансию компании в сегменте Capesize/Newcastlemax, где за последние годы она добавила несколько судов, включая покупки у Zodiac Maritime и Eastern Pacific Shipping. С операционной точки зрения, компания активно диверсифицирует флот: наряду с балкерами - развивает контейнерный и танкерный сегменты, включая танкеры-химовозы, что позволяет гибко реагировать на рыночные циклы и перераспределение грузопотоков. Для рынка это сигнал усиления роли частных китайских судовладельцев в крупнотоннажном сегменте и дальнейшей консолидации балкерного флота. 📌Maple Leaf Shipping — основана в 1956 году в Китае, частная судоходная компания, активно развивающая международные перевозки. Владельцем Maple Leaf Shipping является Йе Чжи (YE ZHI). Он является председателем Maple Leaf Shipping Group, а также вице-президентом Ассоциации молодых предпринимателей Тайчжоу и вице-президентом правления Торговой палаты Чжэцзяна. #DryBulk#Capesize#Shipping#China#FleetExpansion

🚢Great Eastern Shipping усиливает флот покупкой балкера типоразмера Kamsarmax. Индийская The Great Eastern Shipping Company (GE Shipping) объявила о покупке балкера типоразмера Kamsarmax, дедвейтом около 81 094 тонн японской постройки (2014 год). Передача судна ожидается в I-м квартале 2027 финансового года. Сделка будет полностью профинансирована за счёт собственных средств компании и направлена на увеличение собственного флота. На данный момент GE Shipping владеет 41 судном совокупным дедвейтом около 3,25 млн тонн: 27 танкеров (включая 5 VLCC, 17 продуктовых танкеров и 5 LPG-танкеров) и 14 балкеров (2 балкера типоразмера Capesize, 9 типоразмера Kamsarmax, 1 типоразмера Ultramax и 2 типоразмера Supramax). Параллельно компания планирует продать VLGC “Jag Vishnu”, завершение сделки ожидается в IV-м квартале FY26. По данным компании, текущая загрузка флота близка к 100%, что позволяет активно оптимизировать структуру активов. Для балкерного рынка покупка указывает на сохраняющийся интерес к типоразмеру Kamsarmax, который остаётся ключевым для перевозок угля, зерна и сырьевых грузов на межрегиональных маршрутах. 📌The Great Eastern Shipping Company Limited — индийская судоходная компания, основанная в 1948 году, одна из крупнейших частных судоходных групп страны. Акции обращаются на Национальной фондовой бирже Индии (NSE); компания контролируется индийской семьей Шет (Sheth) - это одна из крупнейших частных судоходных компаний в Индии. Ключевыми фигурами в руководстве компании на протяжении многих лет являются представители этой семьи (например, К. М. Шет и Бхарат К. Шет). Это одна из крупнейших частных судоходных компаний в Индии. #DryBulk#Kamsarmax#GEShipping#FleetExpansion#ShippingMarkets