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

Пребарај: #stemeducation

当前筛选 #stemeducation清除筛选

Markaziy Osiyo STEM ta'limi: “Yangi O’zbekiston” universiteti professor-o’qituvchilari xalqaro maydonda o‘z fikrlarini bildirishdi 2025-yil 12-dekabr kuni A. Avloniy nomidagi institutda “Zamonaviy ta’limning dolzarb muammolari, yechimlari va rivojlantirish tendensiyalari” mavzusida xalqaro ilmiy-amaliy konferensiya bo‘lib o‘tdi. 🔹 Ushbu nufuzli anjumanda “Yangi O‘zbekiston” universiteti professori, kafedra mudiri Dr. Michelle Bedeker “Markaziy Osiyoda STEM ta’limini qayta ko‘rib chiqish” mavzusida ma’ruza bilan ishtirok etdi. Dr. Bedeker o‘z taqdimotida mintaqada STEM yo‘nalishlarini modernizatsiya qilish, yangi pedagogik yondashuvlarni joriy etish hamda xalqaro tajribani ta’lim jarayoniga qo‘shish bo‘yicha amaliy takliflarni taqdim etdi. Universitetimiz ilmiy hamjamiyat bilan doimiy hamkorlikni davom ettirib, zamonaviy ta’lim rivojiga hissa qo‘shishda faol ishtirok etishda davom etadi. 🔁English ➖➖➖➖➖➖➖➖➖➖➖➖ #NewUU#STEMEducation#InternationalConference ⬇️ Biz ijtimoiy tarmoqlarda: Veb-sayt | Telegram | Instagram | Facebook

МЕНДЕЛЕЕВСКИЙ ФИЛИАЛ НА МЕЖДУНАРОДНОМ ФОРУМЕ «WOMEN IN STEM – 2026» 🖥 14–17 февраля 2026 года профессорско-преподавательский состав, одарённые студенты Филиала, а также участники проекта «Менделеевская школа» приняли активное участие в международном научном форуме «Women in STEM – 2026», проходившем в г. Ташкенте в рамках научной недели, посвящённой Международному дню женщин и девочек в науке. ✈️ Форум был организован при поддержке Министерства высшего образования, науки и инноваций Республики Узбекистан, Ташкентского химико-технологического института, АО «Узкимёсаноат», Комитета по делам семьи и женщин, Чирчикского химико-индустриального технопарка, фонда «Ziyo Forum», а также ведущих международных партнёров — Integral University (Индия), South-West University “Neofit Rilski” (Болгария) и Международного союза теоретической и прикладной химии (IUPAC). ✅ Представители Менделеевского филиала выступили с научными докладами, провели интерактивные квизы, а также организовали зрелищные демонстрации химических реакций, вызвавшие большой интерес у участников форума. 🔬 Одарённые студенты и участники проекта «Менделеевская школа» продемонстрировали современные химические эксперименты, наглядно отражающие высокий уровень подготовки, научный потенциал и практическую направленность инженерного образования Филиала. 👍 Участие в форуме стало важным шагом в укреплении международного научного сотрудничества, популяризации STEM-образования и продвижении Менделеевского филиала как центра подготовки инженеров нового поколения. 🚀 Коллектив Филиала продолжит активное участие в научных и международных мероприятиях, формируя будущее науки и технологий. ________________________________________ #MendeleevTashkent; #WomenInSTEM; #STEMUzbekistan; #STEMEducation; #ChemicalEngineering; #MendeleevSchool; #EngineeringEducation; #ScienceAndInnovation; #UzbekistanScience; #МенделеевскийФилиал; #МенделеевскаяШкола #ИнженерыБудущего; #РоссийскийУчительЗаРубежом; #Минпросвещения; #ЦМС; #РусскийЯзык Web-site | Telegram | Instagram | Facebook