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

Резултати

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

Пребарај: #new

当前筛选 #new清除筛选
De Nieuwshoorn

@Nieuwshoorn · Post #53057 · 26.02.2026 г., 10:56

#NEW 🇳🇱🇮🇱🇺🇸❌🇮🇷 - KLM Dutch airlines has announced the suspension of flights between Amsterdam to Tel Aviv's "Ben Gurion" Airport, starting March 1st until further notice. 📝 The airline stated: At this time, it is not commercially or operationally feasible for KLM to operate flights to Tel Aviv. KLM will continue to monitor developments and will reassess the decision depending on circumstances.

Hashtags

Home decor

@dzdigital3 · Post #18854 · 12.08.2025 г., 21:36

Another color #new Tap to get your TikTok Shop coupon 10$ https://www.tiktok.com/t/ZTYMwFE46/

Hashtags

Home decor

@dzdigital3 · Post #18852 · 12.08.2025 г., 21:36

Another color #new Tap to get your TikTok Shop coupon 10$ https://www.tiktok.com/t/ZTYMwFE46/

Hashtags

Chollosmania

@chollosmania · Post #18460 · 27.11.2021 г., 19:56

​#New🇪🇸🌎🛒🛒BUEN DESCUENTO🇪🇸💲 💯Black Friday: Hasta 40% de descuento en selección New Balance + 20% EXTRA en ropa💯 🔵 Cupón: NBCYBER20 🌍https://bit.ly/3lcVzSW 🎁chollosmania🎁

Hashtags

Chollosmania

@chollosmania · Post #18437 · 26.11.2021 г., 19:58

​#New🇪🇸🌎🛒🛒BUEN DESCUENTO🇪🇸💲 💯Black Friday: Hasta 40% de descuento en selección New Balance + 20% EXTRA en ropa💯 🔵 Cupón: NBCYBER20 🌍https://bit.ly/3lcVzSW 🎁chollosmania🎁

Hashtags

Frontline Report

@FrontlineReportNews · Post #14353 · 20.04.2026 г., 14:11

#NEW 💸📈Don't Get Left Behind — By Oil or Bitcoin Oil swings. Bitcoin swings harder. Same rules: dips, spikes, geopolitics, sentiment. 🌍📊 But crypto adds crazy moves, sharp rises, sudden drops — overnight. If you're not paying close attention, you're missing both the dips and the highs. 👀 Stop reacting. Start leading. 🚀 We track trends, on-chain data, and cross-market moves — so you get insights before the surge. Join us now. Catch every swing. 👇👇👇 https://chat.whatsapp.com/G8QKogkeGP4JpYvpMO8fVW

Hashtags

Palestine Updates 🇵🇸⚔️

@Palestine_Updates · Post #10156 · 08.03.2026 г., 15:25

#NEW ⚡️🇱🇧🇱🇧❌🇮🇱🇺🇸 - Hezbollah published footage of MLRS attacks on Israel's "Naharriya" & "Kiryat Shmona". The group launched "M-21OF" from "BM-21 (Grad)" MRLS." Interestingly, the video displayed CCTV footage from inside the settlements of IDF infantry attempting to intercept the drones via small arms fire.

Hashtags

123•••10•••20•••30•••3334
ПретходнаСтраница 1 од 34Следна