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 слични објави

Пребарај: #venturefunds

当前筛选 #venturefunds清除筛选

🇺🇿 Biznes va tadbirkorlik oliy maktabida yetakchivenchur kompaniyalar va oliy ta’lim muassasalari talabalari o‘rtasida startap loyihalar bo‘yicha uchrashuv bo‘lib o‘tdi ⚡️ Biznes va tadbirkorlik oliy maktabida mamlakatning yetakchi venchur kompaniyalari hamda oliy ta’lim muassasalari talabalari ishtirokida “Startap-loyihalarni qo‘llab-quvvatlash, rivojlantirish va moliyalashtirish” mavzusida ochiq muloqot tashkil etildi. Tadbirning asosiy maqsadi — yoshlarning innovatsion g‘oyalarini loyihalar ko‘rinishida amalga oshirishga ko‘maklashish, ularda venchur moliyalashtirish bo‘yicha amaliy ko‘nikmalarni shakllantirish va istiqbolli investorlar bilan muloqot maydoni yaratishdan iborat bo‘ldi. Uchrashuvda mamlakatning to‘qqizta oliygohidan 70 ga yaqin talabalar ishtirok etdi. “Yoshlar Ventures”, “IT Park Ventures” va “United Ventures” kompaniyalari vakillari o‘z tajribalari bilan o‘rtoqlashib, startaplarni moliyalashtirish tartibi, hujjatlarni ko‘rib chiqish jarayonlari hamda mamlakatdagi venchur ekotizimining rivojlanish istiqbollari haqida ma’lumot berishdi. Shuningdek, talabalar tomonidan bank, qurilish, ishlab chiqarish va ta’lim sohalaridagi 7 ta startap loyihalar taqdimoti o‘tkazildi. 👉Batafsil 🇷🇺Подробнее 🇬🇧More #GSBE#GraduateSchool#Venturefunds#Startupprojects 🔝Web-site |🔝Facebook | 🔝Instagram | 🔝Youtube

🔴🔴🔴 Venchur kompaniyalar va startaplar hamkorlik muloqoti 🇺🇿 Biznes va tadbirkorlik oliy maktabi O‘zbekiston venchur fondlari bilan hamkorlikda 30 - oktabr kuni “Startap loyihalarni qo‘llab-quvvatlash, rivojlantirish va moliyalashtirish” mavzusida talabalar va venchur fondlar vakillari o‘rtasida muloqot tashkil etmoqda. ❗️Ushbu tadbir doirasida quyidagilrga e’tibor beriladi: • venchur fondlarining tashkil etilishi, maqsadlari va faoliyat yo‘nalishlari; • startap loyihalarni qo‘llab-quvvatlash va rivojlantirish mexanizmlari; • moliyalashtirish talablari va shartlari; • venchur kompaniyalarining startaplarni rivojlantirishdagi o‘rni; • loyihalarni tanlab olish jarayonida qo‘yiladigan mezonlar; • talabalar tomonidan startap loyihalar taqdimoti va ular bo‘yicha venchur kompaniyalarning fikr-mulohazalari; • mutaxassislar bilan to‘g‘ridan-to‘g‘ri muloqot va fikr almashish. Tadbir o'zbek tilida olib boriladi. Sana: 30-oktabr, 2025-yil Vaqti: 10:00 - 12:00 Manzil: Biznes va tadbirkorlik oliy maktabi Telefon: +998 71 239 03 27 🇷🇺RU 🇬🇧ENG #GSBE#GraduateSchool#Venturefunds#Startupprojects 🔝Web-site |🔝Facebook | 🔝Instagram | 🔝Youtube