@masterprotocol_news · Post #129 · 09.09.2024 г., 08:11
🇰🇷 Master Protocol at #KBW2024 🥰 What a Week!
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
Пребарај: #kbw2024
@masterprotocol_news · Post #129 · 09.09.2024 г., 08:11
🇰🇷 Master Protocol at #KBW2024 🥰 What a Week!
Hashtags
@DWFLabs · Post #835 · 12.09.2024 г., 05:32
We had a blast at DWF Labs Haus: Korea Blockchain Week 2024. Check out some of our highlights 🥂 It was a treat to welcome our guests at a luxurious venue with a stunning view; delicious food and drinks; and great vibes to celebrate #KBW2024. We're grateful for every opportunity to meet our friends and partners in person. Thank you to everyone who attended 🤝 #DWFLabsxKBW2024
Hashtags
@DWFLabs · Post #796 · 30.08.2024 г., 05:30
Ready for DWF Labs Haus: Korea Blockchain Week? 🇰🇷 We're gearing up to host another 🔥 edition of DWF Labs Haus during #KBW2024. The event is in less than a week — reserve your spot now to meet our top tier community. Register here. 📆 4 Sep 2024 ⏱️ 7PM to 11PM GMT+9 #DWFLabsxKBW2024
Hashtags
@DWFLabs · Post #787 · 26.08.2024 г., 04:48
Have you registered for DWF Labs Haus: Korea Blockchain Week yet? Get ready to meet our team and a top tier crypto community at our event during #KBW2024. Register here. 📆 4 Sep 2024 ⏱️ 7PM to 11PM GMT+9 #DWFLabsxKBW2024
Hashtags
@DWFLabs · Post #772 · 08.08.2024 г., 08:00
Get ready for DWF Labs Haus: Korea Blockchain Week 🔥 We're excited to host some of the brightest innovators and crypto enthusiasts over delicious cocktails and canapés during #KBW2024. Register here. 📆 4 Sep 2024 ⏱️ 7PM to 11PM GMT+9 #DWFLabsxKBW2024
Hashtags
@DWFLabs · Post #779 · 15.08.2024 г., 04:00
DWF Labs Haus is coming to #KBW2024 and #TOKEN2049! Come meet with industry leaders and our top tier KOL community in Seoul and Singapore 🤝 All approved DWF Labs KOLs will receive priority registration approval for our events, as well as access to exclusive deal flow from over 700 projects. If you have yet to join our community, register here: https://dwf-labs.com/wavemakers Register for DWF Labs Haus: Korea Blockchain Weekhere. Register for DWF Labs Haus: TOKEN2049 Singaporehere. P.S. We will only reach out to shortlisted KOLs. #DWFLabsxWaveMaker
@DWFLabs · Post #800 · 02.09.2024 г., 08:43
Our Business Partner of Business Development Lingling Jiang is sharing on our work and support for the space 🙌🔥 If you're around, come say hi to the team! #KSL2024#KBW2024#DWFLabs