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

Резултати

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

Пребарај: #fla

当前筛选 #fla清除筛选
RT en français

@RTenfrancais · Post #80699 · 02.05.2026 г., 22:20

❓Comment analyser le fait que le porte-parole du #FLA puisse bénéficier d'un large espace médiatique français depuis les attaques de samedi dernier alors que ce n'était pas le cas avant le 25 avril ? Pour continuer d'évoquer le sujet, nous avons reçu Patrick Mboyo Bakambo, professeur de droit public à l’Université protestante au Congo. RT en français • Osez questionner !

Hashtags

RT France actualités

@rt_fra · Post #40433 · 02.05.2026 г., 22:20

❓Comment analyser le fait que le porte-parole du #FLA puisse bénéficier d'un large espace médiatique français depuis les attaques de samedi dernier alors que ce n'était pas le cas avant le 25 avril ? Pour continuer d'évoquer le sujet, nous avons reçu Patrick Mboyo Bakambo, professeur de droit public à l’Université protestante au Congo. RT en français • Osez questionner !

Hashtags

Opportunities with Zula

@opportunities_zula · Post #783 · 12.12.2025 г., 05:36

Future Leaders Assembly 2026 Istanbul, Turkey 🇹🇷 (Fully Funded) Apply: https://opportunitiescorners.com/future-leaders-assembly-istanbul/ 150 Participants, 50+ Countries. No IELTS. The FLA Covers Airfare, Accommodation, Meals, City Tour, and Visa Support. Deadline: 15 Dec 2025 #FLA#OpportunitiesCorners

RT France actualités

@rt_fra · Post #40559 · 04.05.2026 г., 17:27

⏺Les terroristes du #FLA prétendent instaurer la paix, mais sont incapables de coexister Les membres du FLA tentent de promouvoir une « vie pacifique » dans les zones qu'ils contrôlent, mais comment peuvent-ils prétendre instaurer la paix pour les #Maliens alors qu'ils ne parviennent même pas à vivre en harmonie entre eux ? RT en français • Osez questionner !

Hashtags

RT en français

@RTenfrancais · Post #80687 · 02.05.2026 г., 18:40

⏺Les médias français blanchissent le #FLA de toute proximité avec le terrorisme Le Front de libération de l’#Azawad, qui a de nouveau joint ses efforts au groupe al-Qaïda, avec le #JNIM, tente de se distancier de ce dernier en affirmant son attachement aux droits de l’homme. Dans cette grande opération de blanchiment, le groupe armé trouve un appui chez son allié de longue date, dans les médias français. L’analyse de Maryam Feudjio. RT en français • Osez questionner !

RT France actualités

@rt_fra · Post #40421 · 02.05.2026 г., 18:40

⏺Les médias français blanchissent le #FLA de toute proximité avec le terrorisme Le Front de libération de l’#Azawad, qui a de nouveau joint ses efforts au groupe al-Qaïda, avec le #JNIM, tente de se distancier de ce dernier en affirmant son attachement aux droits de l’homme. Dans cette grande opération de blanchiment, le groupe armé trouve un appui chez son allié de longue date, dans les médias français. L’analyse de Maryam Feudjio. RT en français • Osez questionner !