@QazaqEmbassyBaku · Post #2412 · 15.03.2026 г., 16:44
🔹 Referendum 2026, Baku We are #Kazakhstan. We are #BornBold It’s in our DNA. #referendum2026
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
Пребарај: #referendum2026
@QazaqEmbassyBaku · Post #2412 · 15.03.2026 г., 16:44
🔹 Referendum 2026, Baku We are #Kazakhstan. We are #BornBold It’s in our DNA. #referendum2026
@Osservatorioitaliano · Post #24493 · 23.03.2026 г., 23:26
#Italia#Referendum2026 Dato finale aggregato Italia + Estero (63.739 sezioni scrutinate su 63.740) ❌ NO: 53,23% ✅ SI: 46,77% Nota: Gli atti della sezione 127 del comune di Sassari (SS) sono stati inviati all’Ufficio Centrale per il completamento delle operazioni. @Osservatorioitaliano
Hashtags
@Osservatorioitaliano · Post #24492 · 23.03.2026 г., 23:23
#Italia#Referendum2026 Dato finale Estero (2.207 sezioni scrutinate su 2.207) ✅ SI: 56,34% ❌ NO: 43,66% @Osservatorioitaliano
Hashtags
@Osservatorioitaliano · Post #24489 · 23.03.2026 г., 22:45
#Italia#Referendum2026 ❓ SI o NO? Quale è il dato definitivo nelle singole regioni? Abruzzo: ❌ 51,77% ✅ 48,23% Basilicata: ❌ 60,03% ✅ 39,97% Calabria: ❌ 57,26% ✅ 42,74% Campania: ❌ 65,22% ✅ 34,78% Emilia Romagna: ❌ 57,25% ✅ 42,75% Friuli Venezia Giulia: ✅ 54,47% ❌ 45,53% Lazio: ❌ 54,59% ✅ 45,41% Liguria: ❌ 57,03% ✅ 42,97% Lombardia: ✅ 53,56% ❌ 46,44% Marche: ❌ 53,74% ✅ 46,26% Molise: ❌ 54,70% ✅ 45,30% Piemonte: ❌ 53,50% ✅ 46,50% Puglia: ❌ 57,14% ✅ 42,86% Sardegna: ❌ 59,44% ✅ 40,56% Sicilia: ❌ 60,98% ✅ 39,02% Toscana: ❌ 58,16% ✅ 41,84% Trentino Alto Adige: ❌ 50,59% ✅ 49,41% Umbria: ❌ 51,68% ✅ 48,32% Valle D’Aosta: ❌ 51,81% ✅ 48,19% Veneto: ✅ 58,41% ❌ 41,59% @OsservatorioItaliano
Hashtags
@Osservatorioitaliano · Post #24488 · 23.03.2026 г., 21:37
#Italia#Referendum2026 Dato finale nazionale (61.532 sezioni scrutinate su 61.533) ❌ NO: 53,74% ✅ SI: 46,26% Nota: Gli atti della sezione 127 del comune di Sassari (SS) sono stati inviati all’Ufficio Centrale per il completamento delle operazioni. @Osservatorioitaliano
Hashtags
@Osservatorioitaliano · Post #24483 · 23.03.2026 г., 21:14
#Italia#Referendum2026 63.602 sezioni scrutinate su 63.740 ❌ NO: 53,26% ✅ SI: 46,74% @Osservatorioitaliano
Hashtags
@Osservatorioitaliano · Post #24477 · 23.03.2026 г., 18:28
#Italia#Referendum2026 In corso cortei e manifestazioni in tutta Italia, leader del centrosinistra a Roma. A Napoli i magistrati cantano Bella Ciao, a Bologna si chiedono le dimissioni di Meloni. @Osservatorioitaliano
Hashtags
@Osservatorioitaliano · Post #24476 · 23.03.2026 г., 18:20
#Italia#Referendum2026 Il NO vince ad Arcore, città di Silvio Berlusconi. @Osservatorioitaliano
Hashtags
@Osservatorioitaliano · Post #24472 · 23.03.2026 г., 17:59
#Italia#Referendum2026 62.583 sezioni scrutinate su 63.740 ❌ NO: 53,56% ✅ SI: 46,44% @Osservatorioitaliano
Hashtags
@Osservatorioitaliano · Post #24464 · 23.03.2026 г., 16:40
#Italia#Referendum2026 60.396 sezioni scrutinate su 63.533 ❌ NO: 53,69% ✅ SI: 46,31% @Osservatorioitaliano
Hashtags
@Osservatorioitaliano · Post #24452 · 23.03.2026 г., 15:39
#Italia#Referendum2026 Stima della ripartizione dei voti dei principali partiti - Consorzio Opinio RAI @OsservatorioItaliano
Hashtags
@Osservatorioitaliano · Post #24448 · 23.03.2026 г., 15:27
#Italia#Referendum2026 39680 sezioni scrutinate su 63.533 ❌ NO: 54,32% ✅ SI: 45,68% @Osservatorioitaliano
Hashtags