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

Резултати

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

Пребарај: #tongaming

当前筛选 #tongaming清除筛选
TONlines – News

@tonlines · Post #7183 · 13.05.2025 г., 08:33

⚡️TapSwap Community: Last Chance for Beta Access #TapSwap#TONGaming The TapSwap community is wrapping up the formation of its early access group for the beta version. Users can participate in skill-based games and experience $TAPS directly through Telegram. It’s a final call to submit Telegram handles for those interested. Source: link @tonlines

Crypto Drop Club

@drop_cryptogo · Post #1799 · 15.05.2025 г., 17:34

😱 Are you missing everything again? This is the last chance to get into the TapSwap beta test before it goes mainstream! We've almost assembled a select group of people - those who will be the first to see how TapSwap works from the inside. Want to go there? Then go for it! In beta: 🎯 Games where it's important not to poke, but to think 🪙 $TAPS is not a toy, but a currency 📲 Everything via Telegram — no downloads, no headaches Leave your nickname and we will find you (in a good way): 👉https://forms.gle/Wdp8ZsofBM6Xzjyk6 Bot link: tapswap_bot📱 #TapSwap#Бета#SkillToEarn#TONGaming Crypto Drop Club 👉 SUBSCRIBE

Nigeria Football Hub

@football_nigeria · Post #1083 · 15.05.2025 г., 14:19

⚠️ Final call to join the TapSwap beta! We are finalizing the formation of the early access group. If you haven't sent your Telegram nickname yet, now is the time to do it.📱 As part of the beta version you will receive: - Access to skill-based mechanics — Possibility to test $TAPS in operation — Participation directly through Telegram, without unnecessary installations 📩 Leave your nickname here so we can add you to the list: 👉https://forms.gle/Wdp8ZsofBM6Xzjyk6 Bot link: tapswap_bot📱 #TapSwap#Бета#SkillToEarn#TONGaming Nigeria Football Hub

INSIDER USA | News

@insider_usa_news · Post #3338 · 15.05.2025 г., 16:01

⚠️Last chance to get into the TapSwap beta test We are finalizing the formation of the early access group. If you haven't sent your Telegram nickname yet, now is the time to do it.📱 As part of the beta version you will receive: - Access to skill-based mechanics — Possibility to test $TAPS in operation — Participation directly through Telegram, without unnecessary installations 📩 Leave your nickname here so we can add you to the list: 👉https://forms.gle/Wdp8ZsofBM6Xzjyk6 Bot link: tapswap_bot📱 #TapSwap#Бета#SkillToEarn#TONGaming INSIDER USA 👉🏻 Subscribe