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

Пребарај: #bryussel

当前筛选 #bryussel清除筛选
“OʻzTMK” AJ | Rasmiy kanal

@uztmk_official · Post #3477 · 18.11.2025 г., 16:05

#Raw_Materials_Week2025 #Bryussel#TMK 🌍 Yevropaning eng nufuzli haftaligida TMKloyihalari namoyish etiladi Yevropa Komissiyasi tomonidan o‘tkazilayotgan Raw Materials Week 2025 sessiyalari Bryusselda o‘z ishini boshladi. Ushbu forum Yevropa iqtisodiyoti va global kritik xomashyo zanjirlari bo‘yicha eng muhim strategik qarorlar qabul qilinadigan markaziy platforma hisoblanadi. ⚡️O‘zbekiston texnologik metallar kombinati nufuzli haftalikda mamlakatimizning kritik minerallar sohasidagi salohiyatini namoyish etadi. 🔥Haftalik doirasida TMK tomonidan "Oʻzbekistonda kritik minerallar bo‘yicha investitsiya imkoniyatlari" mavzusidagi muhim sessiya o‘tkaziladi. Unda Yevropaning yetakchi kompaniyalariga TMKning yirik loyihalari taqdim etiladi. TMKning mazkur haftalikdagi ishtiroki: ⚫️Yevropa – O‘zbekiston resurs hamkorligini mustahkamlash; ⚫️CRMA talablariga javob beruvchi loyihalarni taqdim etish; ⚫️ TMKning strategik qiymat zanjiri – Mine → Metal → Market modelini Yevropa bozorlari bilan uyg‘unlashtirish; ⚫️Yevropaning diversifikatsiya strategiyasida O‘zbekistonning o‘rnini yanada kuchaytirishga xizmat qiladi. Haftalikning asosiy maqsadi — Yevropa Ittifoqining Kritik xomashyo to‘g‘risidagi qonuni (CRMA)ni amaliyotga joriy etish, global resurs bozorlarida yuzaga kelayotgan o‘zgarishlarga munosabat bildirish, hamkor davlatlar bilan “friend-shoring” formatini mustahkamlash va Yevropaning texnologik sanoatini barqaror ta’minot bilan ta’minlash mexanizmlarini muhokama qilishdir. 📍Yevropa sanoati, innovatsiya va resurs xavfsizligi bo‘yicha yilning eng muhim voqeasini biz bilan kuzatib boring. 🫥🫥🫥 📎На русском языке 📎In English 🫥🫥🫥 ✅TMK matbuot xizmati 🌐Web-site|🔵Facebook |📷Instagram| 🎰LinkedIn|🎬Youtube|🚀Telegram

Bryusselda O‘zbekiston va Yevropa Ittifoqi o‘rtasida kengaytirilgan sheriklik va hamkorlik to‘g‘risidagi bitim imzolandi. Marosimda Prezident Shavkat Mirziyoyev, Yevropa Kengashi Prezidenti Antoniu Koshta va Yevropa Komissiyasi Prezidenti Ursula fon der Lyayen ishtirok etdi. https://yep.uz/uz/2025/10/ozbekiston-yevropa-ittifoqi-kengaytirilgan-sheriklik-bitimi/ #O‘zbekiston #YevropaIttifoqi#EPCA#ShavkatMirziyoyev#Bryussel#UrsulafonderLyayen#AntoniuKoshta#Hamkorlik#Sheriklik#GlobalDarvoza