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

Резултати

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

Пребарај: #groundzero

当前筛选 #groundzero清除筛选
GroundZero

@groundzero_uz · Post #3831 · 19.02.2026 г., 05:24

Как считать окупаемость команды и перестать терять деньги? Многие нанимают людей, чтобы расти, но тонут в расходах. Как понять, приносит ли сотрудник прибыль? Разберемся в GroundZero! 👤 Спикер: Ольга Игамратова Эксперт в управленческом учете (20 лет опыта). Основатель консалтинга «Balans Plus». На встрече: 📍 Посчитаем реальную стоимость ваших решений. 📍 Дадим инструменты расчета окупаемости проектов. 📍 Найдем «дыры», куда утекают деньги. 📅 20 февраля (пятница) | 14:30 📍 GroundZero Kitob Olami Вход бесплатный для резидентов GroundZero #GroundZero#Бизнес#Финансы

Teach For Uzbekistan | Official

@teachforuzbekistan · Post #233 · 11.06.2025 г., 20:05

📣 “Izdoshlik” – She’riyat kechasi 📆 17-iyun, 17:00–20:00 📍Ground Zero Kitob Olami, Mustaqilik 6 Yurtimizning taniqli shoirlari Erkin Bozorov, Jontemir Jondor va Bek Ali ishtirokida o‘tkaziladigan “Izdoshlik” kechasiga taklif etamiz! Jadidlar ruhini zamonaviy ovozlar orqali his eting!Bu kecha – milliy o‘zlik, madaniy uyg‘onish, va ta’lim orqali jamiyat taraqqiyoti haqida she’rlar, fikrlar va ilhom manbaiga aylanadi. ✨ Yosh ijodkorlar va Teach for Uzbekistan do‘stlari uchun ochiq maydon 🎤 Ochiq mikrofon, samimiy suhbat va yangi ovozlar O‘tmish – ildiz, Kelajak – yo‘l. Ularni bog‘laydigan esa So‘z va Harakatdir. Biz bilan birga bo‘ling – ruhda uyg‘onish va fikrda erkinlikni his eting. 💬💬💬🗣 📣 «Izdoshlik» – Вечер поэзии 📆 17 июня, 17:00–20:00 📍 Ground Zero Kitob Olami, Мустакиллик, 6 Приглашаем вас на вечер поэзии «Izdoshlik» с участием известных поэтов нашей страны — Эркина Бозорова, Жонтемира Жондора и Бека Али! Почувствуйте дух джадидов через современные голоса! Этот вечер станет источником вдохновения, размышлений и стихов о национальной самобытности, культурном пробуждении и развитии общества через просвещение. ✨ Открытая площадка для молодых творцов и друзей Teach for Uzbekistan 🎤 Открытый микрофон, искренние беседы и новые голоса Прошлое — это корни, Будущее — это путь. Их связывают Слово и Действие. Присоединяйтесь к нам, чтобы почувствовать пробуждение духа и свободу мысли! #erkinbozorov#jontemirjondor#bekali#groundzero#kitobolami#teachforuzbekistan

Kristina Possible

@solodisopra · Post #109 · 17.01.2023 г., 11:29

Свитера #до100 €, чтобы пережить зимушку в приподнятом настроении ❄️ #Puma - 5 000 ₽ (-30%) для спортивных #GroundZero - 6 000 ₽ (-60%) для модных #Diesel - 7 500 ₽ (-40%) для подписчиц КМ20 #b+ab - 7 500 ₽ (-65%) для тех, кто с изюминкой #LIUJO - 8 000 ₽ (-30%) для элегантных #MC2SaintBarth - 8 500 ₽ (-35%) для клёвых #TWINSET - 8 500 ₽ (-35%) для тех, кому жарко даже зимой #LIUJO - 8 500 ₽ (-35%) для желающих нарядиться в цвет года Pantone #ArmaniExchange - 8 500 ₽(-10%) для парного лука с кавказцем