@NEASingapore · Post #595 · 23.07.2023 г., 02:00
Can’t fit all your purchases into one reusable bag? Pack a few more, just in case! You’ll never know when you need to pick up a few things while you’re out 😊 #SayYestoWasteLess#BYO
Hashtags
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
Пребарај: #byo
@NEASingapore · Post #595 · 23.07.2023 г., 02:00
Can’t fit all your purchases into one reusable bag? Pack a few more, just in case! You’ll never know when you need to pick up a few things while you’re out 😊 #SayYestoWasteLess#BYO
Hashtags
@NEASingapore · Post #503 · 11.02.2023 г., 02:01
Reusable bags can be easily thrown into the washing machine or spot cleaned. While they do require more care, they can be reused many more times than their plastic counterparts making them better for the environment! #SayYestoWasteLess#BYO
Hashtags
@NEASingapore · Post #284 · 23.11.2021 г., 03:30
Instead of dining out, dabao some delicious hawker fare for elderly family members or neighbours so that they can stay home and stay safe. Remember to bring your along reusable containers to reduce single-use disposables. #BYO#SayYEStoWasteLess
Hashtags
@NEASingapore · Post #192 · 21.05.2021 г., 06:00
It’s time to put our reusables to its best use! Don’t forget to leave the house with reusable bottles and containers when tabao-ing your morning coffee, lunch or dinner from your favourite food stalls. #SayYEStoWasteLess#BYO
Hashtags
@NEASingapore · Post #696 · 31.10.2023 г., 01:01
This Halloween, make your carbon footprint less scary! 🍿 Having a spooky movie night? Bring along reusable popcorn containers and cups. 👻 Hitting a few haunted houses? Don't forget to keep hydrated with a reusable bottle. 🍭 And if you’re thinking of hitting the sweet shops, keep a reusable bag handy. #SustainableSG#BYO#BYOB
Hashtags
@NEASingapore · Post #669 · 13.10.2023 г., 01:02
Bring your reusable bag when you go shopping! Every action counts when it comes to saving planet Earth, and a little goes a long way when it comes to savings 💰 Show the Earth and your wallet some love! #SayYEStoWasteLess#BYO#BYOB
Hashtags
@NEASingapore · Post #648 · 23.09.2023 г., 01:01
Lock screen reminders are the new sticky notes. So set a trendy reminder to bring your own reusable bag before heading out! Let’s save the planet, one bag at a time 🛍#BYO#BYOB#SayYEStoWasteLess
Hashtags
@NEASingapore · Post #729 · 20.12.2023 г., 01:02
Ready for takeaway feasts? This holiday season, let's switch to reusable containers and cut down on disposables! #SayYEStoWasteLess#TowardsZeroWaste#BringYourOwn#BYO
@NEASingapore · Post #641 · 08.09.2023 г., 02:01
#DidYouKnow the average family in Singapore that buys groceries weekly uses about 1,248 single-use plastic bags annually? 😱 Let’s #SayYEStoWasteLess by bringing along reusable bags when heading out! #BYO#BYOB
@NEASingapore · Post #763 · 13.02.2024 г., 01:01
Start the year on a greener note, by packing your takeaway meals in reusable containers. #BYO#SayYEStoWasteLess#SustainableSG#TowardsZeroWaste#LunarNewYear2024
@NEASingapore · Post #718 · 11.12.2023 г., 04:02
Santa’s not the only one with a reusable bag! When visiting the mall to shop, let’s bring our reusable bags. Together, we can ensure fa-la-la-la-la, la-la-la-less packaging waste. 🛍️ #SayYEStoWasteLess#TowardsZeroWaste#BringYourOwn#BYO#BYOB
@NEASingapore · Post #32 · 07.04.2020 г., 01:32
When heading down to #OurHawkerCentres to tabao food home, don’t forget to bring your own clean containers so you can save the Earth at the same time! ;) #SayYesToWasteLess#IBringMyOwnSG#BringYourOwnSG#BYO#TowardsZeroWaste