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

Резултати

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

Пребарај: #kokanduniversity

当前筛选 #kokanduniversity清除筛选

⚡️⚡️ 🏫Talabalar bandligi va moliyaviy savodxonlik: Qo‘qon universiteti Andijon filialida uchrashuv o‘tkazildi Ayni vaqtda Qo‘qon universiteti Andijon filialida “Payshanba — yoshlar kuni” doirasida talabalarni ish bilan ta’minlash va ularning sug‘urta sohasidagi bilimlarini oshirishga qaratilgan amaliy muloqot bo‘lib o‘tmoqda. Mazkur uchrashuvda “Kafil-sug‘urta” AJ boshqaruv Raisi o‘rinbosari Djanturaev Umid Muhammadusupovich hamda kompaniyaning Andijon filiali boshlig‘i Umidjon Gofurov ishtirok etmoqdalar. Uchrashuvning asosiy maqsadi — oliy ta’lim va ishlab chiqarish integratsiyasini kuchaytirish orqali talabalar orasidan malakali sug‘urta agentlarini shakllantirishdir. Mehmonlar talabalarga sug‘urta bozorining bugungi holati, 2004-yildan buyon faoliyat yuritib kelayotgan “Kafil-sug‘urta” kompaniyasining imkoniyatlari hamda yoshlar uchun yaratilgan bo‘sh ish o‘rinlari haqida batafsil ma’lumot bermoqdalar. Ochiq muloqot davomida talabalar o‘qishdan bo‘sh vaqtlarida daromad topish, sug‘urta shartnomalarini tuzish va ushbu sohada karyera qilish bo‘yicha o‘zlarini qiziqtirgan savollarga javob olmoqdalar. Bu kabi tadbirlar yoshlarni mehnat bozoriga tayyorlash va ularning bandligini ta’minlashda muhim platforma bo‘lib xizmat qiladi. #Andijon_yoshlar_day#KokandUniversity#AndijonFiliali 😎kuaf_edu | 😎kuaf_uz | 😎kuafuz 😎Kuaf Uz | 🌐kuaf.uz 🖊qabul.kuaf.uz |📱my.kuaf.uz

Andijan Development Center

@adceducate · Post #9838 · 22.10.2025 г., 11:49

🎓🤝ADC talabalar uchun yangi imkoniyatlar! ADC va Qo‘qon universiteti o‘zaro hamkorlik to‘g‘risida Memorandum imzoladilar! Endilikda ADC ichki imtihonlari va sertifikatlari rasmiy ravishda Qo‘qon universiteti tomonidan tan olinadi. Bu degani, bizning bitiruvchilar ADC sertifikatlari orqali Qo‘qon universitetiga qabul qilinishlari mumkin — qayta kirish imtihonlarisiz! Bundan tashqari, eng iqtidorli talabalar uchun Qo‘qon universiteti tomonidan maxsus grantlar ajratiladi! 💫 Bu hamkorlik ta’lim sohasidagi yangi bosqich bo‘lib, yoshlarimiz uchun yanada ko‘proq imkoniyatlar eshigini ochadi. #AndijonTaraqqiyot#KokandUniversity#Hamkorlik#Talim#Grantlar#ADC#Imkoniyatlar 📞 74-226-10-78 💬 Telegram: @admofadc 🌟Telegram 🌟Instagram 🌟Facebook 🌟TikTok 🌟YouTube