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

Пребарај: #saudiaramco

当前筛选 #saudiaramco清除筛选
Russia News

@RussiaaNews · Post #50018 · 02.03.2026 г., 07:30

Закрытие завода Saudi Aramco из-за атаки Один из крупнейших в мире заводов Saudi Aramco в Рас-Тануре приостановил работу из-за удара беспилотника. Это происшествие подчеркивает важность безопасности критических объектов энергетики. Создание более устойчивых систем защиты становится актуальным вызовом для индустрии. #SaudiAramco#Беспилотники Russia News — Подпишись

🚢Саудовская Аравия сокращает добычу нефти до около 8 млн баррелей в сутки. Саудовская Аравия резко снизила добычу нефти после остановки работ на двух крупных офшорных месторождениях — Safaniya и Zuluf. По данным источников рынка, добыча в стране сократилась примерно до 8 млн баррелей в сутки или даже ниже. До начала текущего кризиса страна добывала около 10,82 млн б/с, из которых 10,11 млн б/с поставлялись на мировой рынок. Совокупная добыча месторождений Safaniya и Zuluf превышала 2 млн б/с, поэтому их остановка существенно повлияла на общий уровень производства. Сокращение связано с ограничениями экспорта и нарушением морской логистики на фоне кризиса в районе Ормузского пролива — одного из ключевых маршрутов мировой торговли нефтью. Аналитики отмечают, что даже после стабилизации ситуации быстро восстановить прежний уровень добычи и экспортных потоков будет сложно, поскольку запуск крупных месторождений требует времени и технической подготовки. Для танкерного рынка это означает сокращение объёмов загрузки в Персидском заливе и усиление волатильности ставок на фоне перераспределения глобальных потоков нефти. 📌Saudi Aramco (Saudi Arabian Oil Company) — национальная нефтяная компания Саудовской Аравии, основанная в 1933 году. Компания контролируется государством Саудовская Аравия и является крупнейшим нефтедобывающим предприятием мира. #OilMarket#SaudiAramco#EnergyTrade#Hormuz#TankerMarket

Crypto M - Crypto News

@CryptoM · Post #64870 · 10.04.2026 г., 05:54

🚀 Middle Eastern Oil Producers Prepare for Potential Hormuz Strait Reopening Middle Eastern oil producers have requested Asian refiners to submit shipping plans for April and May, in anticipation of the potential reopening of the Hormuz Strait. According to Odaily, there is currently no indication that Tehran is lifting its near-total blockade of this crucial waterway, which has previously caused a sharp increase in energy prices. However, a recently announced two-week ceasefire agreement between the U.S. and Iran has sparked hopes for the strait's reopening. Two sources revealed that Saudi Aramco, the world's largest exporter, has asked its clients to submit applications for May shipments from the ports of Yanbu and Ras Tanura. One source noted that this would depend on the resumption of exports from the eastern port of Ras Tanura, which requires vessels to pass through the Hormuz Strait. #MiddleEast#OilProducers#HormuzStrait#ShippingPlans#Ceasefire#Iran#EnergyPrices#SaudiAramco#Yanbu#RasTanura#Exports#OilTrade