@nocap · Post #12306 · 28.11.2025 г., 14:28
Обсуждение релизов недели Что понравилось из вышедшего, а что разочаровало? Пишите в комментариях. #discussion
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
Пребарај: #discussion
@nocap · Post #12306 · 28.11.2025 г., 14:28
Обсуждение релизов недели Что понравилось из вышедшего, а что разочаровало? Пишите в комментариях. #discussion
Hashtags
@nocap · Post #11665 · 27.06.2025 г., 17:22
Обсуждение релизов недели Что понравилось из вышедшего, а что разочаровало? Пишите в комментариях. #discussion
Hashtags
@languagetrivia · Post #292 · 08.11.2024 г., 11:50
Have you ever experienced an awkward or embarrassing situation while learning a new language or communicating across cultures? Maybe you translated ‘break a leg’ literally into a language where the idiomatic meaning didn’t carry over, leaving someone confused or concerned. Or you confidently said ‘I’m pregnant’ instead of ‘I’m embarrassed’ in Spanish (embarazada means pregnant vs. avergonzada means embarassed). Perhaps you misunderstood local etiquette, like forgetting to remove your shoes before entering someone’s home in Japan. Share your faux pas stories in the comments—let’s learn and laugh together! @languagetrivia#discussion
Hashtags
@languagetrivia · Post #272 · 03.11.2024 г., 18:24
What’s a non-English film that you absolutely love and recommend? Drop the title in the comments and tell us what makes it special! Let’s build a list of international films to check out! @languagetrivia#discussion
Hashtags
@languagetrivia · Post #207 · 21.10.2024 г., 06:55
Is there a language you started learning but gave up on? What made you stop, and would you try again? Check out my story in the comments and share yours @languagetrivia#discussion
Hashtags
@languagetrivia · Post #182 · 16.10.2024 г., 19:20
🗣Let’s share some awesome music! 🎶 I’d like to listen to your favourite non-English songs. If you feel like sharing some song(s), drop a YouTube link to the song in the comments and let’s discover music from all around the world together! 🌍🎧 Don’t be shy! I’m also very curious to hear music in more rare languages. I’ll go first, check out the links in the comment section 💬 @languagetrivia#discussion
Hashtags
@languagetrivia · Post #159 · 11.10.2024 г., 17:05
What apps or resources do you use to learn foreign languages, and what makes them effective for you? @languagetrivia#discussion
Hashtags
@languagetrivia · Post #149 · 09.10.2024 г., 14:20
What foreign language sounds most beautiful to your ear? Share your favorite sounding language in the comments below🙏 🧠@languagetrivia#discussion
Hashtags
@languagetrivia · Post #125 · 04.10.2024 г., 18:58
🧠@languagetrivia#discussion If you could download a language into your mind and speak it fluently right away – what language would that be and why?
Hashtags
@WritersCafe · Post #121 · 22.07.2018 г., 08:54
#tragicomedy#discussion
Hashtags
@Pincongessence · Post #2486 · 27.10.2021 г., 16:30
Why do billionaires and other very rich individuals try so hard to avoid paying taxes when they will still be rich whether they pay the taxes or not? #Reddit#tax#discussion
Hashtags
@gsbe_uz · Post #1364 · 21.05.2024 г., 04:17
📢Hurmatli professor-o‘qituvchilar, tinglovchilar va mehmonlar! 🇺🇿 Sizlarni 2024-yil 28-mayda bo‘lib o‘tadigan “Respublikamizda “yashil” iqtisodiyotni barpo etishda sanoat tarmoqlarida energiya samaradorligini oshirishga qaratilgan texnologiyalarni rivojlantirish masalalari” mavzusidagi davra suhbatida ishtirok etishga taklif qilamiz. 📈 Tadbirdan maqsad respublikamiz sanoat tarmoqlarida energiya sarfini kamaytiruvchi innovatsion yechimlar izlash va bu orqali O‘zbekistonda “yashil” iqtisodiyotni rivojlantirish. 🏛 Tadbirda taqdimotlar bilan quyidagi tashkilotlar vakillari ishtirok etadilar: ⬛️ Energetika vazirligi; ⬛️ Iqtisodiyot va moliya vazirligi; ⬛️ Energetika muammolari instituti; ⬛️ “O‘zto‘qimachiliksanoat” uyushmasi; ⬛️ “O‘zsanoatqurilishmateriallari” uyushmasi 🗓Sanasi: 28 - may, 2024-yil ⏰Vaqti: 10:00 📍Tadbiro‘tkazishjoyi: Biznes va tadbirkorlik oliy maktabi (1-qavat) 🇬🇧Eng 🇷🇺Ru #GraduateSchool#Roundtable#Discussion#Green 🌐Web-site | ✅Telegram | ✅Facebook | 🌐Instagram