Установить свойства виджета в 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
🇺🇿 Startaplarga investitsiyalarni jalb etish bo‘yicha xorijiy tajriba o‘rganildi.
Koreyaning Ilg‘or texnologiyalari va fan instituti (KAIST) bilan hamkorlikda “Startaplarga sarmoyalarni jalb etishning huquqiy asoslari” mavzusida amaliy seminar tashkil etildi.
🇺🇿UZB
Изучен зарубежный опыт по привлечению инвестиций в стартапы.
Cовместно с Корейским институтом передовых технологий и науки (KAIST) был организован практический семинар на тему «Правовые основы привлечения инвестиций в стартапы».
🇷🇺RU
Studied Foreign Experience in Attracting Investments to Startups.
In collaboration with the Korea Advanced Institute of Science and Technology (KAIST), organized a practical seminar on the topic "Legal Foundations of Attracting Investments in Startups."
🇬🇧ENG
#GraduateSchool#MBA#Meeting
Web-site | Telegram | Facebook | Instagram
🇺🇿🇲🇾Malaysian University APU (Asia Pacific University) vakillari bilan uchrashuv bo‘lib o‘tdi.
🇺🇿UZB
Состоялась встреча с представителями Малазийского университета APU (Азиатско-Тихоокеанский университет).
🇷🇺RU
A meeting with representatives of the Malaysian Asia Pacific University (APU) took place.
🇬🇧ENG
#GraduateSchool#MBA#Meeting
Web-site | Telegram | Facebook | Instagram
FORTUNE launches new education offerings with publication of The Best Online MBA Programs of 2021 ranking - https://www.prnewswire.com/news-releases/fortune-launches-new-education-offerings-with-publication-of-the-best-online-mba-programs-of-2021-ranking-301275789.html#Education#Online#Fortune#MBA Join @OnlineEducation10
Вдогонку к предыдущему постуинтересный факт: Филипп Агьон, лауреат Нобелевской премии по экономике, преподает на программе MBA в бизнес-школе INSEAD.
Что такое программа МВА и зачем она может быть нужна вам?
Диплом MBA - Master of Business Administration - зачастую обязателен для построения международной карьеры на высших уровнях управления. Обучение на программах МВА – это не только качественное образование, но и преподаватели топ-класса. Обучение на этих программах в основном идет на английском языке и адресуется международным кандидатам-выпускникам управленческих и инженерных специальностей. Хорошая MBA-программа берет кандидатов только с реальным профессиональным управленческим опытом. Факт: средний возраст студента программ МВА во Франции – 31 год.
Какие французские МВА самые лучшие?
Le Figaro составил рейтинглучших французских бизнес-школ, предлагающих такие программы, на основе мировых рейтингов и французских аккредитационных систем. Итак, 6 лучших французских бизнес-школ с МВА:
INSEAD
HEC
ESSEC
EDHEC
EM Lyon
IESEG
Кстати: все программы французских вузов (не только МВА) на английском языке представлены в каталоге Taught in English на сайте Кампюс Франс 😉
#France#Management#EtudesenFrance#MBA
🇺🇿O‘zbekiston Respublikasi Vazirlar Mahkamasi huzuridagi Biznes va tadbirkorlik oliy maktabi MBA - Global Managementmagistratura mutaxassisligi tinglovchisining tahsil olayotgan yo‘nalishi bo‘yicha izohi.
🖊 ОтзывслушателяВысшей школы бизнеса и предпринимательства при Кабинете Министров Республики Узбекистан по обучаемой специальности магистратуры MBA -Глобал Менеджмент.
#GraduateSchool#StudentFeedback#MBA#Note
🌐Web-site |
✅ Telegram |
✅Facebook |
🌐Instagram
🇺🇿O‘zbekiston Respublikasi Vazirlar Mahkamasi huzuridagi Biznes va tadbirkorlik oliy maktabi MBA - Global Managementmagistratura mutaxassisligi tinglovchisining tahsil olayotgan yo‘nalishi bo‘yicha izohi.
🖊 ОтзывслушателяВысшей школы бизнеса и предпринимательства при Кабинете Министров Республики Узбекистан по обучаемой специальности магистратуры MBA -Глобал Менеджмент.
#GraduateSchool#StudentFeedback#MBA#Note
🌐Web-site |
✅ Telegram |
✅Facebook |
🌐Instagram
🇺🇿O‘zbekiston Respublikasi Vazirlar Mahkamasi huzuridagi Biznes va tadbirkorlik oliy maktabi Biznesni boshqarish (MBA) magistratura mutaxassisligi tinglovchisining tahsil olayotgan yo‘nalishi bo‘yicha izohi.
🖊Отзыв слушателя Высшей школы бизнеса и предпринимательства при Кабинете Министров Республики Узбекистан по обучаемой специальности магистратуры Управление бизнесом (MBA).
#GraduateSchool#StudentFeedback#MBA#Note
🌐Web-site |
✅ Telegram |
✅Facebook |
🌐Instagram
🇺🇿O‘zbekiston Respublikasi Vazirlar Mahkamasi huzuridagi Biznes va tadbirkorlik oliy maktabi MBA - Global Managementmagistratura mutaxassisligi tinglovchisining tahsil olayotgan yo‘nalishi bo‘yicha izohi.
🖊 ОтзывслушателяВысшей школы бизнеса и предпринимательства при Кабинете Министров Республики Узбекистан по обучаемой специальности магистратуры MBA -Глобал Менеджмент.
#GraduateSchool#StudentFeedback#MBA#Note
🌐Web-site |
✅ Telegram |
✅Facebook |
🌐Instagram
🗣
🎓O‘zbekiston Respublikasi Vazirlar Mahkamasi huzuridagi Biznes va tadbirkorlik oliy maktabi MBA - Global Managementmagistratura mutaxassisligi tinglovchisining tahsil olayotgan yo‘nalishi bo‘yicha izohi.
🔊 ОтзывслушателяВысшей школы бизнеса и предпринимательства при Кабинете Министров Республики Узбекистан по обучаемой специальности магистратуры MBA -Глобал Менеджмент.
#GraduateSchool#StudentFeedback#MBA#Note
🌐Web-site |
✅ Telegram |
✅Facebook |
🌐Instagram
🇺🇿Biznes va tadbirkorlik oliy maktabi MBA - Global Managementmagistratura mutaxassisligi tinglovchisi Nozima Saidovaning tahsil olayotgan yo‘nalishi bo‘yicha izohi.
🎓 “Biznesni boshqarish (MBA) magistratura dasturi men uchun yangi ochilish bo‘ldi. Oliy maktabda olayotgan barcha bilim va ko‘nikmalar, kelajakda barcha tinglovchilar uchun katta imkoniyatlar eshigini ochishiga ishonaman.
🟨 Hozirgi zamonaviy chorlovlarga javoban transformatsiya jarayonini shiddat va qat’iyat bilan amalga oshirayotgan Oliy maktab “O‘rgan, o‘zgartir, yetakchi bo‘l” shiori ostida yangi marralarni egallaydi. Bu jarayonda munosib ishtirok etish katta sharaf bo‘lish bilan birga, ulkan mas’uliyat hamdir. Yuksak ishonch bilan ayta olamanki, Bizning oldimizga qo‘yilgan ustuvor vazifalarni sadoqat bilan ado qilamiz
#GraduateSchool#StudentFeedback#MBA#Note
🌐Web-site |
✅Telegram |
✅Facebook |
🌐Instagram
👨⚕️🔊O‘zbekiston Respublikasi Vazirlar Mahkamasi huzuridagi Biznes va tadbirkorlik oliy maktabi “Raqamli iqtisodiyot va xalqaro raqamli integratsiya” ixtisosligi bo‘yicha mustaqil izlanuvchisining izohi.
💻 Отзыв самостоятельного соискателя Высшей школы бизнеса и предпринимательствапри Кабинете Министров Республики Узбекистан по специальности «Цифровая экономика и международная цифровая интеграция».
#GraduateSchool#StudentFeedback#MBA#Note
Web-site | Telegram | Facebook | Instagram
👨💻🎓O‘zbekiston Respublikasi Vazirlar Mahkamasi huzuridagi Biznes va tadbirkorlik oliy maktabi MBA - Moliyamagistratura mutaxassisligi tinglovchisining tahsil olayotgan yo‘nalishi bo‘yicha izohi.
📢ОтзывслушателяВысшей школы бизнеса и предпринимательства при Кабинете Министров Республики Узбекистан по обучаемой специальности магистратуры MBA -Финансы.
#GraduateSchool#StudentFeedback#MBA#Note
Web-site | Telegram | Facebook | Instagram