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

Резултати

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

Пребарај: #lagrandeinterview

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

@RTenfrancais · Post #80527 · 30.04.2026 г., 20:40

💬 Dans #LaGrandeInterview, Bacem Chebbi, journaliste de RT en français, reçoit Foued el Kamel, directeur général et cofondateur d'AVIONAV. RT en français • Osez questionner !

RT en français

@RTenfrancais · Post #79736 · 21.04.2026 г., 19:35

💬 Dans #LaGrandeInterview, Thierno Ahmadou Sy, journaliste de RT en français, reçoit Bakary Yaou Sangaré, ministre nigérien des Affaires étrangères. RT en français • Osez questionner !

RT en français

@RTenfrancais · Post #79724 · 21.04.2026 г., 17:34

💬 Dans #LaGrandeInterview, Thierno Ahmadou Sy, journaliste de RT en français, reçoit Mamadou Tangara, ancien ministre gambien des Affaires étrangères, représentant spécial de l’Union africaine pour le Mali et le Sahel. RT en français • Osez questionner !

RT France actualités

@rt_fra · Post #40847 · 07.05.2026 г., 21:35

💬 Dans #LaGrandeInterview, Igor Kourachenko, journaliste de RT en français, reçoit Guèye Ousmane, secrétaire général du Parti humaniste, Aichatou Lawali Moussa, présidente du mouvement Solidarité révolutionnaire pour un développement durable de l’AES, Ouedraogo Samdpawendé, membre du Comité International Mémorial Thomas Sankara et Fatoumata Diaraye Diallo, présidente de l’ONG « Femmes et filles volontaires ». RT en français • Osez questionner !

RT France actualités

@rt_fra · Post #40719 · 06.05.2026 г., 17:00

💬Dans #LaGrandeInterview, Maryam Feudjio, journaliste de RT en français, reçoit Camara Khadidia, première secrétaire de l’organisation « Collectif pour la protection des militaires ». RT en français • Osez questionner !

Kurash & Co 🇷🇺

@kurash_and_Co · Post #879 · 15.02.2026 г., 15:51

💬 Dans #LaGrandeInterviewIgor Kourachenko, journaliste de RT en français, reçoit Karamoko Jean-Marie Traoré, ministre burkinabè des Affaires étrangères. RT en français • Osez questionner !

Kurash & Co 🇷🇺

@kurash_and_Co · Post #626 · 30.06.2025 г., 10:01

💬 Dans #LaGrandeInterview, Igor Kourachenko, journaliste de RT en français, reçoit Jean-Pierre Kiwakana Kimayala, président du Conseil Économique et Social de la RDC. RT en français • Osez questionner !

Kurash & Co 🇷🇺

@kurash_and_Co · Post #625 · 24.06.2025 г., 09:57

💬 Dans #LaGrandeInterview, Igor Kourachenko, journaliste de RT en français, reçoit Denis-Christel Sassou Nguesso, ministre de la coopération internationale et de la promotion du partenariat public de la République du Congo. RT en français • Osez questionner !

Kurash & Co 🇷🇺

@kurash_and_Co · Post #624 · 22.06.2025 г., 12:35

💬 Dans #LaGrandeInterview, Igor Kourachenko, journaliste de RT en français, reçoit Alexeï Tchékounkov, ministre russe du Développement de l’Extrême-Orient et de l’Arctique. RT en français • Osez questionner !

Kurash & Co 🇷🇺

@kurash_and_Co · Post #622 · 20.06.2025 г., 18:30

💬 Dans #LaGrandeInterview, Igor Kourachenko, journaliste de RT en français, reçoit Alexeï Pouchkov, sénateur et président de la Commission pour la politique de l'information de la Chambre haute du Parlement, en marge du Forum économique international de Saint-Pétersbourg (SPIEF 2025). RT en français • Osez questionner !

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