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

Резултати

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

Пребарај: #odaily

当前筛选 #odaily清除筛选
Crypto M - Crypto News

@CryptoM · Post #64935 · 10.04.2026 г., 10:55

🚀 Strategy's Stretch Nears Significant Bitcoin Acquisition Strategy's Stretch (STRC) is reportedly close to acquiring a substantial amount of Bitcoin this week. According to Odaily, the company is estimated to have raised enough funds to purchase 8,000 BTC. By the end of the week, STRC may hold a total of 10,000 BTC. #Strategy#Bitcoin#BTC#Acquisition#STRC#Odaily

Crypto M - Crypto News

@CryptoM · Post #64795 · 10.04.2026 г., 00:15

🚀 Kremlin Announces Easter Truce for April 2026 The Kremlin has announced a ceasefire to take place from April 11, 2026, at 16:00 until the end of April 12, 2026. According to Odaily, this truce is set to coincide with the Easter holiday. Further details about the ceasefire have not been disclosed. #Kremlin#EasterTruce#Ceasefire#April2026#Odaily#EasterHoliday

Crypto M - Crypto News

@CryptoM · Post #64518 · 09.04.2026 г., 05:44

🚀 Middle East Ceasefire Expected to Hold Despite Fragility Jefferies global economist Mohit Kumar has stated that despite the fragility of the Middle East ceasefire agreement, it is expected to hold. According to Odaily, Kumar noted that both parties have reached a point where they desire a ceasefire, as continued conflict would negatively impact both sides. Kumar highlighted that U.S. President Donald Trump is keen on reaching an agreement, as he lacks support from his core base for ongoing warfare. Meanwhile, the Iranian Revolutionary Guard faces challenges due to economic devastation, potentially paving the way for future uprisings. He concluded that given the interests of both parties, the unstable ceasefire is likely to persist. #MiddleEast#Ceasefire#MohitKumar#US#Iran#DonaldTrump#Conflict#RevolutionaryGuard#GlobalEconomics#PeaceAgreement#Odaily

Crypto M - Crypto News

@CryptoM · Post #65217 · 12.04.2026 г., 03:45

🚀 WLFI Co-Founder Addresses Misunderstandings on X Platform WLFI co-founder Zach Witkoff has responded to recent criticisms on the X platform regarding the WLFI project. According to Odaily, Witkoff clarified several points to address misconceptions. Firstly, he emphasized that WLFI should not be confused with the Trump meme coin, as they are entirely unrelated. He also stated that WLFI has no connection with 'fight fight fight' or CIC Digital Company. Witkoff highlighted that early investors purchased WLFI at prices of $0.015 and $0.05, with the current price standing at $0.08. He further explained that the project's primary product is not transaction fees but a stablecoin that generates returns through holding government bonds. This stablecoin ranks as the second-largest compliant stablecoin by trading volume and market capitalization, which he described as a significant achievement. Witkoff advised critics to conduct more thorough research before writing extensive posts on the matter. #WLFI#ZachWitkoff#XPlatform#TrumpMemeCoin#Stablecoin#GovernmentBonds#Investors#Misunderstandings#CICDigitalCompany#Cryptocurrency#Odaily#MarketCapitalization