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

Резултати

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

Пребарај: #aigenerated

当前筛选 #aigenerated清除筛选
Custom Emoji Packs

@CustomEmojiPacks · Post #879 · 09.06.2025 г., 22:20

We've brought back the ❤️ reaction and removed the 💫 option. We originally added the star just for fun, but it started to feel unfair - it was appearing on messages that included packs from other people. Even though the donations it generated were minimal and insignificant to us, I still felt bad about it. Anyway, I want to clarify what's been happening with this channel lately. 📰 A few months ago, Telegram placed restrictions on my account for no apparent reason - I wasn't allowed to post in public groups due to some "illegal content". It took me a while to realize that our community group had disappeared too. I'll admit it, our moderation wasn't the best, but we tried to block and remove spam, crypto scams, and anything related to drugs, porn etc, but in the end, our group ended up being deleted. I reached out to some Telegram volunteers, and after a few weeks I was unbanned. They told me I should’ve enabled the new aggressive anti-spam feature, so if you manage a large community, I strongly recommend turning it on. That way, a few troublemakers won’t end up causing problems for everyone. 🚨 That said, technology is evolving at an exponential rate, and with the arrival of AI generated emojis, we also want to evolve this channel into something new. Right now, you can generate an emoji on iOS or certain websites in just a few seconds, which takes away the magic of designing a set from scratch with vector graphics and countless cups of coffee. We still believe in the secret art of emoji creation, but it's fading faster and faster. That's why we're adding the ability to direct message us using the latest Telegram feature, so that you can share your packs, tell us your story and promote your own work - and request collaborations, too. We’ll review each submission, allowing you, in a way, to give us direct post suggestions, resulting in more frequent posts and better management, without the risk of creating another group just to get banned again. We have more ideas for oh how to evolve this community, but we also want to hear yours. At this point, we think the channel needs a new #aigenerated hashtag for emoji packs made with AI tools like ChatGPT or websites such as emojis.com - one of the most advanced AI emoji generators right now (not sponsored, by the way). So, keep creating incredible art in every form. Use AI to push the boundaries of what the human mind can do, without replacing it. Find the right balance, blending AI-generated ideas with your own artistic vision and creativity. That, I believe, must be the right way to create and communicate without getting replaced by technology in future generations. 🚀

Hashtags

12
ПретходнаСтраница 1 од 2Следна