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

Пребарај: #wbgypp

当前筛选 #wbgypp清除筛选

🌐 Young professionals from Uzbekistan🇺🇿, Kazakhstan🇰🇿, the Kyrgyz Republic🇰🇬, Tajikistan🇹🇯, and Turkmenistan🇹🇲 — this is your chance to join the World Bank, International Finance Corporation (IFC), or Multilateral Investment Guarantee Agency (MIGA)! 🤝 Successful candidates will receive a 2-year term contract as mid-career staff (GF level), with the possibility of a 5-year renewable appointment based on performance. 🧭 Work locations include Washington, DC, or one of the World Bank Group (WBG) country offices across the globe. 🏁 Launch your career at the WBG through the Young Professionals Program — designed for dynamic leaders who are ready to contribute to ending extreme poverty and boosting shared prosperity. ➡️ Eligibility requirements: ✅ National of a World Bank Group member country. ✅ At least 4-6 years of full-time professional experience. ✅ Relevant master’s degree (or higher) completed by September 1, 2026. ✅ Excellent English communication skills (fluency in other languages might be advantageous to your application). ✅ Not currently employed at the WBG and not restricted by its eligibility policy. 📝 Applications are open September 1–30, 2025: http://bit.ly/3K5u395 📢Please share with eligible candidates across Central Asia and encourage them to apply. #WBGYPP

Hashtags

Opportunities with Zula

@opportunities_zula · Post #200 · 03.09.2025 г., 05:21

World Bank Young Professional Program 2026 (WBG YPP) Apply: https://opportunitiescorners.com/world-bank-group-young-professionals-program/ Early Career to Start a Career with World Bank for a 5 Year Contract. It Covers All Expenses and the Training will be in Washington DC. Deadline: 30th Sept 2025 #WBGYPP#YoungProfessionalsProgram#WorldBankGroup#OpportunitiesCorners

🌐 Hey, young professionals from #CentralAsia, including those from #Uzbekistan, #Kazakhstan, #KyrgyzRepublic, #Tajikistan, and #Turkmenistan, apply for the World Bank Group's Young Professional Program (WBG YPP) to join our global team! 🤝 Through the WBG YPP, we select top talent to advance the World Bank Group’s mission. Nearly a thousand YPP alumni work at the World Bank Group today, at the World Bank, IFC, and MIGA. Eligibility Requirements ✅ Date of birth on or after October 1, 1992. ✅ Nationality of a WBG member country (nationals of all Central Asian countries are eligible to apply). ✅ Over 4 years of full-time work experience after successfully completing undergraduate studies. ✅ Completion of a masters-level degree or equivalent in a relevant field, or a higher qualification in a relevant field, before September 1, 2025. ✅ Excellent command of spoken and written English language (fluency in other languages might be advantageous to your application). Contract Terms 📝 If you are invited to join the Program, your offer will include a 5-year term contract as a mid-career staff member (GF level) that may be renewable based on performance. 🛂 You also might be eligible for a US visa (G-type) for you and your dependents. 🌍 You may be located in Washington, DC, or any of the WBG country offices worldwide, and must be prepared to relocate accordingly. 🔎 Learn more: http://wrld.bg/wOKz50T4hQQ#WBGYPP