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

Резултати

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

Пребарај: #ceasefireagreement

当前筛选 #ceasefireagreement清除筛选
Marwa Osman/MidEaStream

@Marwa_OsmanLB · Post #4036 · 21.02.2025 г., 11:09

Dr. Omar Nashabe discusses the latest in Israel’s military presence in #Lebanon and the US’s role. What does this mean for the region? #Israel#MiddleEast#PoliticalAnalysis#LebaneseSovereignty#IsraelOccupation#Hezbollah#MilitaryPresence#CeasefireAgreement

Crypto M - Crypto News

@CryptoM · Post #64627 · 09.04.2026 г., 11:57

🚀 European Financial Institutions Predict Short-Term Stability in Oil Prices Amid Middle East Tensions Several European financial institutions released reports on the 8th, forecasting that international oil prices are unlikely to return to pre-conflict levels between the U.S., Israel, and Iran in the short term. According to Odaily, the market should focus on the passage through the Strait of Hormuz and the restoration of infrastructure in the Middle East region. ING Group noted that the news of a two-week ceasefire agreement between the U.S. and Iran has somewhat alleviated concerns about long-term disruptions in oil supply, causing international oil prices to fall below $100 per barrel. The future trajectory of oil prices will depend on whether a lasting agreement can be reached in negotiations and if shipping levels through the strait can return to normal. It is expected that the market will continue to experience volatility during the negotiation period. UBS Group stated that it remains unclear when and to what extent shipping through the strait will resume, as some tankers will need time to re-route. If passage through the strait is blocked again, energy prices could quickly rebound. Additionally, even under optimistic scenarios, the repair of energy infrastructure and the resumption of production could take weeks or even months. Therefore, energy prices are unlikely to fall back to pre-conflict levels in the short term. #OilPrices#MiddleEastTensions#EuropeanFinancialInstitutions#StraitOfHormuz#EnergyMarket#OilSupply#MarketVolatility#CeasefireAgreement#InfrastructureRestoration#ShortTermStability