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

Резултати

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

Пребарај: #desert

当前筛选 #desert清除筛选
厨渣爱美食

@eatNcook · Post #1526 · 19.11.2023 г., 22:02

#Desert Iced Fudge Brownies 22p 342kcal/p Brownie 240g butter 360g semi-sweet chocolate 200g sugar 1tbsp vanilla extract 1tbsp instant coffee granules 4 L eggs room temperature 62.5g all-purpose flour 43g cocoa powder 1tsp baking powder CHOCOLATE ICING 110g butter, at room temperature 360g powdered sugar 43g cocoa powder 2tsp vanilla extract 60g warmed milk sprinkles, for decorating (opt) Instructions 1. 9×13 inch pan w/paper 2. melt the butter & 3/4 chocolate chips until smooth. Stir in the sugar, vanilla, and instant coffee. 3. whisk 4 eggs, add into the chocolate mix. Add the flour, cocoa powder, and baking powder. Stir until just combined. Stir in the remaining 1/4 chocolate chips. Spread into baking pan. 175°C 28-30min. Cool. 4. make the icing. Mix the butter, powdered sugar, cocoa powder, vanilla, and 1/4 cup warm milk until smooth, adding additional warm milk until the frosting becomes thicker. Add more sugar if needed. Spread the icing over the bars. Decorate with sprinkles.

Hashtags

厨渣爱美食

@eatNcook · Post #1376 · 15.11.2023 г., 23:08

Kinder Rice Krispie bar 60g salted or unsalted butter 300g mini marshmallows 125g Rice Krispies 24 mini Kinder chocolate bars, 8 (100g) for the base, 16 (200g) for the topping Optional: Kinder halves to decorate Tin size: 8x8" #Desert

Hashtags

🎨 𝗧𝗘𝗠𝗔𝗦 𝗧𝗘𝗟𝗘𝗚𝗥𝗔𝗠 ➤ 𝗧𝗚𝗫 📢 𝗖𝗵𝗮𝗻𝗻𝗲𝗹: @DNZ_Temas ➖ ➖ ➖ ➖ ➖ ➖ ➖ ➖ ➖ ➖ 🔗𝗔𝗣𝗣𝗟𝗬 𝗧𝗛𝗘𝗠𝗘>> ✅ ⤵️𝗕𝗔𝗖𝗞𝗚𝗥𝗢𝗨𝗡𝗗>> ⬇️𝗪𝗔𝗟𝗟𝗣𝗔𝗣𝗘𝗥>> ➖ ➖ ➖ ➖ ➖ ➖ ➖ ➖ ➖ 🏷️Tags: #Blue#Desert #Landscape#MDGram ╚═══ ღ 𝔻ℕℤ 𝕋𝔼𝕄𝔸𝕊 ღ ═══╝

Interesting Planet 🌍

@interesting_planet_facts · Post #436 · 27.07.2025 г., 13:22

🌎 In Australia’s dry grasslands, the spinifex hopping mouse leaps up to 3 meters in a single bound—over 10 times its body length! Powerful back legs and long tails help it escape predators and thrive in deserts where water is scarce. ✨ #animals⚡#adaptation⚡#desert 👉subscribe Interesting Planet

123•••78
ПретходнаСтраница 1 од 8Следна