Установить свойства виджета в 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
Nouveau dessin révélateur d'Allan Barte ! 😡
Pour partager : Facebook - Twitter
Signez la pétition officielle sur le site de l'Assemblée Nationale pour le #RICconstituant : https://petition.ric-france.fr/assemblee-nationale
Un petit pas pour les militants, un grand pas pour le débat public ^^
Annonce du #RICconstituant de Marie Pochon à la niche Écologiste du 12 février :
https://ecologisteetsocial.fr/2026/01/14/referendum-dinitiative-citoyenne-redonner-du-souffle-a-notre-democratie/
Obs : la niche se terminant à minuit maximum, il se peut que le #RIC ne soit pas pleinement débattu, voire pas débattu du tout, mais nous n'avons jamais été aussi proche d'un débat sur le RIC Constituant à l'Assemblée nationale en tout cas. À suivre...
Analyse du #RIC de Marie Pochon ➜ https://label.ric-france.fr/evaluations/analyse-du-ric-de-marie-pochon-plc-n2081
Cette proposition de “RIC Délibératif”, déposée par Marie Pochon, correspond en partie aux attentes.
Avec une note de 110/300, cette proposition obtient une étoile en catégorie étape, du fait de son caractère “délibératif”.
____________________________
Partagez, likez, commentez
➤ FB - X
Signez les pétitions pour le #RICconstituant
✍️espoir-ric.fr/petition
Aidez à définir le #RIC voulu par les Français
📊culture-ric.fr/consultation
Agissez 🚀ric-france.fr/action
Informez-vous ℹ️ric-france.fr/RIC
✏️@ PourquoiLeRIC
_________________
➤ FB - X - Insta
Signez les pétitions pour le #RICconstituant
✍️espoir-ric.fr/petition
Aidez à définir le #RIC voulu par les Français
➡️culture-ric.fr/consultation
Agissez ! 🚀ric-france.fr/action
Informez-vous 🛈 ric-france.fr/RIC
✏️ Allan Barte
_________________
➤ FB - X - Insta
Aidez à définir le #RIC voulu par les Français
📝culture-ric.fr/consultation
Signez la pétition officielle pour le #RICconstituant
✍️petitions.assemblee-nationale.fr/initiatives/i-2082
✏️ Illustration : Allan Barte
—
Partager :
Facebook - Twitter - Instagram
https://youtu.be/qTkWXIdPY_k
Pourquoi le #RIC ? Pourquoi le #RICconstituant ?
✍️ Signez et faites signer :
https://petition.ric-france.fr/an
Merci Benoît pour ces belles explications !
Yvan Bachaud revient sur les mensonges du président du Conseil Constitutionnel, Laurent Fabius, qui ment aux Français sur l'article 11 de la Constitution, les yeux dans les yeux.
➡️https://youtu.be/w6xH900e0Ls
Sommaire :
00:19 - Initiative PARLEMENTAIRE et non "partagée" !
03:36 - Référendum improbable, pour ne pas dire IMPOSSIBLE !
05:07 - Vedel et le véritable Référendum d'initiative Parlementaire
05:48 - Article 11, simulacre de #démocratie
06:38 - Appel à un Conseil Constitutionnel de juristes triés au sort
07:18 - Appel à l'action pour le #RICConstituant
Interview complète : dailymotion.com/video/x8sokys
______________________
Pétition pour le RICC : espoir-ric.fr/petition
Passer à l'action : ric-france.fr/action
Collectifs qui agissent pour le RIC : ric-france.fr/acteurs-du-ric
__
Partager la vidéo :
Youtube - Facebook - Twitter
Découvrez un entretien intéressant en visio avec 2CDR - Collectif citoyen pour la démocratie réelle 👍
https://www.youtube.com/watch?v=-hXW3Tk3D30
« Faut pas rater le coche !
Echanges avec Clara Egger, candidate pour Espoir-RIC à la présidentielle.
Pourquoi la #présidentielle ? Quelles #stratégies pour instaurer le #RICconstituant de la rue jusqu’aux urnes ? »
Pour en savoir plus sur notre stratégie :
https://www.espoir-ric.fr/strategie
Partager sur Facebook : https://www.facebook.com/espoirRIC/posts/231412159164207
Partager sur Twitter : https://twitter.com/espoirRIC2022
https://www.ouest-france.fr/politique/comment-le-rejet-du-rip-par-le-conseil-constitutionnel-a-relance-les-appels-pour-le-ric-46fdecd4-ea5c-11ed-a6d5-79b136c133c6
Comment le rejet du #RIP par le #ConseilConstitutionnel a relancé les appels pour le #RIC...
Pétition officielle pour le #RICconstituant : https://petition.ric-france.fr/an
📣 TOUS POUR LE #RIC
et plus particulièrement le #RICconstituant !
🎬YT : https://youtu.be/e67N-DOsxBU
...hiérarchie des normes, #UE et contrôle des #médias...
Infos et pétition officielle d'Espoir RIC 2022 :
✍️https://petition.ric-france.fr/an
Cinq 49.3 en 25 jours ?!?!
🍄 Il en pousse tellement qu’on ne pourra bientôt plus les compter !
Après un 15e 49.3 sur la budget de la sécurité sociale, #Borne en fait pousser un 16e sur la loi de finance, un 17e sur la loi de programmation budgétaire et un 18e puis un 19e à nouveau pour budget de la Sécu.
On n’arrive plus à suivre !
Il est temps que ça s’arrête…
Avec le #RICveto, on pourrait bloquer les 49.3 !
Avec le #RIClégislatif, proposer des alternatives…
Avec le #RICconstituant, supprimer le 49.3 ou limiter son utilisation.
Aidez à définir le RIC voulu par les Français :
➡️culture-ric.fr/consultation
Publis :
FB : fb.com/photo/?fbid=645835234427367
X : twitter.com/CultureRic/status/1729160608493576612
Insta : instagram.com/p/C0J66spqSVt
Voici un petit guide pas à pas pour signer nos #pétitions sur le site de l'#AssembléeNationale :
➡️espoir-ric.fr/signer
Pour rappel, ces pétitions pour le #RICconstituant et le #RéférendumObligatoire doivent atteindre 5000 signatures avant fin décembre pour pouvoir être examinées en Commission des lois.
Et on a besoin de VOUS TOUS pour ça 😉
✍️Signez, partagez les publications et demandez à vos proches de signer en leur expliquant à quel point c'est important !
Plus d'infos : espoir-ric.fr/petition
____________________________________
Partager le guide :
➤ FB - X - Insta