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

Резултати

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

Пребарај: #manifestation

当前筛选 #manifestation清除筛选
Voir de ses propres yeux

@voir_yeux · Post #12209 · 21.03.2026 г., 21:42

🇪🇸À Madrid, des centaines d’Espagnols ont pris part à une manifestation contre l’opération israélo-américaine en Iran. Le rassemblement a eu lieu près de la gare ferroviaire de la capitale d’Espagne, informe un correspondant de TASS depuis les lieux. L’action est organisée par l'Assemblée internationaliste de Madrid. Les participants soulignent que les hostilités déclenchées par le président américain Donald Trump ont le seul but de renforcer l’hégémonie des États-Unis sur l’échiquier mondial, alors que les Palestiniens et les Iraniens, les Vénézuéliens et les Cubains, aussi bien que les Libanais sont sacrifiés sur l’autel. Les manifestants se prononcent pour le retrait de leur pays de l’Otan et le refus de financer le réarmement et les budgets militaristes, ainsi que pour la fin du commerce d’armes avec Israël. #manifestation#iran#espagne

Voir de ses propres yeux

@voir_yeux · Post #12537 · 14.04.2026 г., 11:56

🇺🇸🇮🇱 La police a interpellé à New York environ 90 participants à une manifestation contre les livraisons d’armes américaines à Israël, a rapporté le New York Times. Selon la publication, près de 200 manifestants se sont rassemblés devant les bureaux des sénateurs démocrates Chuck Schumer et Kirsten Gillibrand dans un quartier du centre de New York. Les protestataires ont bloqué la circulation automobile pendant environ une heure. #étatsunis#israёl#manifestation

Voir de ses propres yeux

@voir_yeux · Post #11591 · 03.02.2026 г., 15:43

🇷🇺🇻🇪Une manifestation en soutien à Nicolas Maduro et son épouse, capturés à Caracas par les forces armées américaines, se tient près de l'ambassade du Venezuela à Moscou, rapporte un correspondant de TASS. Les manifestants réclament la libération du président vénézuélien. #russie#venezuela#manifestation

Voir de ses propres yeux

@voir_yeux · Post #12119 · 15.03.2026 г., 15:50

🇭🇺🇺🇦 Une marche pour la paix, rassemblant des dizaines de milliers de personnes, s'est déroulée à Budapest à l'appel du parti au pouvoir Fidesz-Union civique hongroise. Elle a été organisée en soutien à la politique du gouvernement hongrois qui refuse d'octroyer d’aide militaire à l'Ukraine, malgré les menaces de Vladimir Zelenski. #hongrie#manifestation#ukraine

Voir de ses propres yeux

@voir_yeux · Post #12761 · 01.05.2026 г., 14:17

🇫🇷 À l’occasion de la fête du 1er mai, le ministre de l’Intérieur Laurent Nunez a annoncé sur France Info TV que près de 320 manifestations étaient prévues à travers le pays, avec un peu plus de 100.000 personnes. #france#manifestation#fête

Voir de ses propres yeux

@voir_yeux · Post #12439 · 06.04.2026 г., 21:24

🇳🇱 Une manifestation contre l’augmentation des dépenses militaires et la politique de militarisation du gouvernement néerlandais s’est déroulée dans le centre de la Haye, devant le ministère de la Défense. Environ 100 personnes y ont participé. #paysbas#manifestation#défense

ПретходнаСтраница 1 од 3Следна