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

Резултати

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

Пребарај: #libération

当前筛选 #libération清除筛选
Egountchi Behanzin Officiel

@egountchibehanzinofficiel · Post #8027 · 16.01.2025 г., 18:37

#Bénin🇧🇯 La jeunesse patriote souverainiste, malgré les intimidations et les menaces incessantes des négriers françafricains cancrelats qui ont pris le Bénin en otage, se lève pour exiger le départ pur et inconditionnel des forces d'occupation françaises. Nous apportons notre soutien à cet élan patriotique et appelons le peuple béninois à se préparer pour la prochaine manifestation, prévue le 25 janvier. Cette mobilisation, organisée par la Confédération Syndicale des Travailleurs du Bénin (CSTB), vise à réclamer le retrait immédiat des forces armées françaises. Cette initiative fait suite à une attaque terroriste survenue au nord du pays le 8 janvier, ayant coûté la vie à une trentaine de soldats. Il est clair que l'inefficacité de la coopération militaire française doit prendre fin. La France n'est pas la solution, elle est le problème. Rappelons-nous qu'un marabout qui donne la mort ne peut pas ressusciter. À bas l’armée d’occupation française en Afrique ! #Souveraineté#Libération#Bénin REJOIGNEZ LA RÉSISTANCE SUR TELEGRAM. 🔺Pour les numéros français : https://t.me/egountchibehanzinTV 🔻Pour les numéros internationaux : https://t.me/EgountchiBehanzinOfficiel @egountchibehanzinTV

Voir de ses propres yeux

@voir_yeux · Post #12850 · 08.05.2026 г., 14:56

🇫🇷 Des centaines de personnes ont défilé dans les rues de Paris dans le cadre de l’action Régiment immortel jusqu’au cimetière du Père-Lachaise, où elles ont rendu hommage aux participants soviétiques et russes du mouvement de la Résistance ayant pris part à la libération de la France de l’occupation nazie. #action#paris#libération

Voir de ses propres yeux

@voir_yeux · Post #12621 · 22.04.2026 г., 16:14

🇷🇺🇰🇵 Le ministre de l’Intérieur de la Russie, Vladimir Kolokoltsev, a rendu hommage à Pyongyang aux soldats soviétiques tombés lors de la libération de la Corée pendant la Seconde Guerre mondiale. #hommage#soldats#libération

Voir de ses propres yeux

@voir_yeux · Post #11974 · 03.03.2026 г., 16:07

🇧🇬 Des cérémonies à Sofia marquent le 148e anniversaire de la libération nationale et de la victoire dans la guerre russo-turque de 1877-1878. L'ambassadrice de Russie en Bulgarie, Eleonora Mitrofanova, a participé à l'événement. #Bulgarie#libération#anniversaire