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

Пребарај: #sma

当前筛选 #sma清除筛选
Venture Village Wall 🦄

@venturevillagewall · Post #4088 · 07.02.2025 г., 07:00

SEC Accepts Grayscale's Solana ETF Application The SEC has accepted Grayscale's application to launch a Solana ETF, marking the first instance of an altcoin ETF being approved amid previous securities classification concerns, according to Bloomberg analyst Eric Balchunas. Additionally, Grayscale's application to convert its Litecoin trust into a spot ETF has also been accepted. CBOE submitted registration forms for Ripple ETFs from Bitwise, WisdomTree, Canary, and 21Shares. Furthermore, Trump Media's new structure, Truth Fi, applied for a Bitcoin Plus ETF and Bitcoin Plus SMA. For further details, see the full news here. #SEC#Solana#ETF#Grayscale#Litecoin#CBOE#Ripple#Bitcoin#IPO#Gemini#Crypto#Finance#News#SMA#WisdomTree#21Shares#Bitwise#TrumpMedia#CryptoMarket#Trading#VC

Шпаков Максим 7 лет (диагноз СМА 3 типа). Сбор на курс реабилитации в центре "Адели" на сумму 2️⃣4️⃣2️⃣1️⃣0️⃣0️⃣ руб. Друзья, время новостей! Сегодня расскажем вам о новостях из жизни нашего подопечного Максима Шпакова. Остаются считаные дни до начала зимы, а в Амурской области она почти наступила, и наш Максим уже успел порадоваться первому снегу – морозные прогулки и катание на санках – одно из любимых занятий Макса. Помимо прогулок, Максим продолжает регулярные реабилитации дома в ожидании предстоящей операции на тазобедренные суставы. Безусловно, такие занятия дают свои результаты – мальчик стал самостоятельнее, может вставать по опоре, а иногда удается встать даже без опоры. Для того, чтобы положительная динамика наблюдалась и в дальнейшем, Максиму до операции необходимо успеть пройти еще один курс реабилитации в профильном центре. До начала курса осталось совсем немного времени, поэтому мы просим вас поддержать Максима, осуществив посильную помощь. Это можно сделать любым удобным способом:🧚‍♀️ 🔹Отправить СМС на номер 3️⃣4️⃣3️⃣4️⃣ (для абонентов всех сетей) со словами ВАЖНЫЕ 500 - где 500 любая комфортная сумма пожертвования. 🔹Больше способов помочь на сайте: ⠀https://fond-vl.ru/campaign/shpakov-maksim-2/#pay 🔹Также можно осуществить перевод на указанные реквизиты: ⠀Сбербанк Р/с: 40701810540000000720 ИНН: 5044120150 БИК: 044525225 Назначение платежа: Шпаков Максим 🔹А еще вы можете поделиться этим постом в своих социальных сетях, чтобы как можно больше людей смогли помочь Максиму 💙 ❤️Мы от всей души благодарим всех за поддержку наших малышей. #важныелюди#реабилитация#медцентр#Адели#курсреабилитации#помогатьлегко#творидобро#sma#лечениедетей#помощьдетям#пожертвование#благотворительность#фонд#Adeli#москва#Амурскаяобласть#Амурск#Свободный#СМА#лечение#Спинраза#область#поддержка#перевод#сбор#зима

Курс реабилитации в центре "Адели" необходим для чудесного Максима! У Максима генетическое заболевание СМА. Максим продолжает регулярные реабилитации дома. Безусловно, такие занятия дают свои результаты – мальчик стал самостоятельнее, может вставать по опоре, а иногда удается встать даже без опоры. Для того, чтобы положительная динамика наблюдалась и в дальнейшем, Максиму необходим курс реабилитации в профильном центре Адели. Мы просим вас поддержать Максима, осуществив посильную помощь. Осталось собрать 42 600 ₽ и сбор будет закрыт. Это можно сделать любым удобным способом:🧚‍♀️ 🔹Отправить СМС на номер 3️⃣4️⃣3️⃣4️⃣ (для абонентов всех сетей) со словами ВАЖНЫЕ 500 - где 500 любая комфортная сумма пожертвования. 🔹Больше способов помочь на сайте: https://fond-vl.ru/campaign/shpakov-maksim-2/ 🔹Также можно осуществить перевод на указанные реквизиты: ⠀Сбербанк Р/с: 40701810540000000720 ИНН: 5044120150 БИК: 044525225 Назначение платежа: Шпаков Максим 🔹А еще вы можете поделиться этим постом в своих социальных сетях, чтобы как можно больше людей смогли помочь Максиму 💙 ❤️Мы от всей души благодарим всех за поддержку наших малышей. #важныелюди#реабилитация#медцентр#Адели#пожертвование#курсреабилитации#помогатьлегко#творидобро#sma#лечениедетей#помощьдетям#пожертвования#благотворительность#фонд#Adeli#москва#Амурскаяобласть#Амурск#Свободный#СМА#лечение#Спинраза#область#поддержка#переводденег#сборсредств#весна#благотворительныйфонд#веравчудо