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

Резултати

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

Пребарај: #glpvda

当前筛选 #glpvda清除筛选
Tutto Elezioni

@tuttoelezioni · Post #1363 · 29.10.2025 г., 20:11

#PaesiBassi🇳🇱 #Parlamentari Exit poll di Ipsos I&O. Distribuzione dei seggi. 🟩 Democratici 66 (#D66|RE): 27 ⬛️ Partito per la Libertà (#PVV|PfE): 25 🟦 Partito Popolare per la Libertà e la Democrazia (#VVD|RE): 23 🟥 Sinistra Verde - Partito del Lavoro (#GLPvdA|G/EFA|S&D): 20 🟩 Appello Cristiano-Democratico (#CDA|PPE): 19 ⬛️ Risposta Corretta 2021 (#JA21|ECR): 9 🟥 Forum per la Democrazia (#FvD|ESN): 6 🟩 Movimento Civico-Contadino (#BBB|PPE): 4 🟩 Partito per gli Animali (#PvdD|LEFT): 3 🟥 Partito Socialista (#SP|Sinistra): 3 🟦#DENK|Minoranze etniche: 3 Altri: 5 Maggioranza: 76 @TuttoElezioni

Tutto Elezioni

@tuttoelezioni · Post #1367 · 31.10.2025 г., 19:35

#PaesiBassi🇳🇱 #Parlamentari Risultati finali. Distribuzione dei seggi. 🟩 Democratici 66 (#D66|RE): 26 ⬛️ Partito per la Libertà (#PVV|PfE): 26 🟦 Partito Popolare per la Libertà e la Democrazia (#VVD|RE): 22 🟥 Sinistra Verde - Partito del Lavoro (#GLPvdA|G/EFA|S&D): 20 🟩 Appello Cristiano-Democratico (#CDA|PPE): 19 ⬛️ Risposta Corretta 2021 (#JA21|ECR): 9 🟥 Forum per la Democrazia (#FvD|ESN): 7 🟩 Movimento Civico-Contadino (#BBB|PPE): 4 🟦#DENK|Minoranze etniche: 3 🟧 Partito Politico Riformato (#SGP|ECR): 3 🟩 Partito per gli Animali (#PvdD|LEFT): 3 Altri: 8 Maggioranza: 76 @TuttoElezioni

Tutto Elezioni

@tuttoelezioni · Post #1366 · 31.10.2025 г., 19:33

#PaesiBassi🇳🇱 #Parlamentari Risultati finali. Voti scrutinati: 100%. Affluenza finale: 78,4% (+0,05%). 🟩 Democratici 66 (#D66|RE): 16,9% ⬛️ Partito per la Libertà (#PVV|PfE): 16,7% 🟦 Partito Popolare per la Libertà e la Democrazia (#VVD|RE): 14,2% 🟥 Sinistra Verde - Partito del Lavoro (#GLPvdA|G/EFA|S&D): 12,6% 🟩 Appello Cristiano-Democratico (#CDA|PPE): 11,8% ⬛️ Risposta Corretta 2021 (#JA21|ECR): 5,9% 🟥 Forum per la Democrazia (#FvD|ESN): 4,6% 🟩 Movimento Civico-Contadino (#BBB|PPE): 2,7% 🟦#DENK|Minoranze etniche: 2,4% 🟧 Partito Politico Riformato (#SGP|ECR): 2,3% 🟩 Partito per gli Animali (#PvdD|LEFT): 2,1% Altri: 7,8% @TuttoElezioni

Tutto Elezioni

@tuttoelezioni · Post #1365 · 30.10.2025 г., 06:14

#PaesiBassi🇳🇱 #Parlamentari Risultati parziali. Voti scrutinati: 98,6%. 🟩 Democratici 66 (#D66|RE): 16,7% ⬛️ Partito per la Libertà (#PVV|PfE): 16,7% 🟦 Partito Popolare per la Libertà e la Democrazia (#VVD|RE): 14,1% 🟥 Sinistra Verde - Partito del Lavoro (#GLPvdA|G/EFA|S&D): 12,5% 🟩 Appello Cristiano-Democratico (#CDA|PPE): 11,7% ⬛️ Risposta Corretta 2021 (#JA21|ECR): 5,9% 🟥 Forum per la Democrazia (#FvD|ESN): 4,5% 🟩 Movimento Civico-Contadino (#BBB|PPE): 2,6% 🟦#DENK|Minoranze etniche: 2,4% 🟧 Partito Politico Riformato (#SGP|ECR): 2,3% 🟩 Partito per gli Animali (#PvdD|LEFT): 2,0% Altri: 8,6% @TuttoElezioni

Tutto Elezioni

@tuttoelezioni · Post #1358 · 28.10.2025 г., 09:35

#Sondaggi #PaesiBassi🇳🇱 #Parlamentari Sondaggio di Ipsos I&O. Data: 23-24 ottobre 2025. Campione: 2.745 persone. ⬛️ Partito per la Libertà (#PVV|PfE): 16,7% 🟥 Sinistra Verde - Partito del Lavoro (#GLPvdA|G/EFA|S&D): 15% 🟩 Democratici 66 (#D66|RE): 14,4% 🟩 Appello Cristiano-Democratico (#CDA|PPE): 12,6% 🟦 Partito Popolare per la Libertà e la Democrazia (#VVD|RE): 10,4% ⬛️ Risposta Corretta 2021 (#JA21|ECR): 7,7% 🟥 Forum per la Democrazia (#FvD|ESN): 3,6% 🟩 Partito per gli Animali (#PvdD|LEFT): 3,0% 🟥 Partito Socialista (#SP|Sinistra): 2,8% 🟩 Movimento Civico-Contadino (#BBB|PPE): 2,7% 🟧 Partito Politico Riformato (#SGP|ECR): 2,5% 🟦#DENK|Minoranze etniche: 2,4% 🟦 Unione Cristiana (#CU|Cristiano-democratici): 2,2% 🟪 Volt Paesi Bassi (#Volt|G/EFA): 2,2% Altri: 1,8% @TuttoElezioni