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

Резултати

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

Пребарај: #cambridge

当前筛选 #cambridge清除筛选
культ✨медиа

@cult_media · Post #2597 · 31.08.2024 г., 14:58

#media_opportunity #Cambridge #КультМедиа Журналисты всего мира, имеющие как минимум 10 лет опыта работы и заинтересованные в исследованиях и обмене опытом в области общественной политики и политических вопросов, могут подать заявки на эту стипендию Гарвардский институт государственного управления им. Джона Ф. Кеннеди принимает заявки на получение стипендий центра Джоан Шоренштейн в Кембридже, штат Массачусетс Принимаются заявки от журналистов, ученых и политиков, активно работающих в области медиа, политической деятельности и общественной политики Необходимо свободное владение английским языком Стипендиаты будут жить по месту учебы в течение одного семестра, им будет выплачиваться ежемесячная стипендия Центр не оплачивает расходы на проезд и проживание Претендентам необходимо отправить мотивационное письмо, заполненную форму заявки, план исследовательского проекта, резюме и рекомендации Заявки принимаются на регулярной основе t.me/cult_media

IT Blog

@ITbusiness_school · Post #1853 · 18.06.2022 г., 11:17

#cambridge#feedback Ba’zan mana shunday habarlarni o’quvchilarimizdan eshitganimda jamoamiz bilan juda hursand bo’lamiz. Butun jamoa bilan bu kabi izohlarni va fikrlarni nishonlaymiz. Sababi, bizning ishimizga baho bera oladigan yagona inson bu bizning o’quvchilar, mijozlar. Cambridge o’quv markazida istalgan o’quvchi istalgan payt to’g’ridan to’g’ri menga «feedback» yo’llay oladi. Va men deyarli barcha feedbacklarni shaxsan o’zim ko’rib chiqaman. Feedbacklarda asosan muammolarni yozishadi, lekin bugungisi bizni juda ham mamnun qildi! Bizning korxonamiz, loyihalarimiz «people first» tamoyilida ishlaydi. Biz uchun isonlar (mijozlar va hodimlar) har doim birinchi o’rinda bo’lgan va InShaaAlloh bo’ladi! Loyihalarimizni o’ziga hos tomoni ham shunda bo’lsa kerak) @jahongir_pulatov_blog

Opportunities with Zula

@opportunities_zula · Post #1818 · 11.04.2026 г., 19:01

Fully Funded ERA Summer Fellowship 2026 Cambridge!, UK 🇬🇧🎓🌍 ✨ Why You Should Apply? 🌟 Open to ALL nationalities 🙅‍♂️No Application Fees 💸 Fully Funded Benefits: ✈️ Airfare 🏨 Accommodation 💰 Stipend 🛂 Visa Cost Covered 📅 Program Duration: 10 Weeks 🔗 Apply Now: https://opportunitiescorners.com/era-summer-fellowship-2026/ 🔥 This could be your gateway to the UK — Don’t miss out! Tag someone who needs this 👇 #FullyFunded#Cambridge#UKOpportunities#Scholarships#OpportunitiesCorners🌍✨