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

Резултати

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

Пребарај: #audiokitob

当前筛选 #audiokitob清除筛选
MILLIONER KUTUBXONASI

@Biglibrary_uz · Post #9321 · 09.01.2026 г., 17:06

🩷🩷🩷 #audiokitob 🔔 🎵 Siz so'ragan audio-book‼️ ATOM ODATLAR Jeyms Klir Muvaffaqiyatli inson odatlarini o'zingizda shakllantiring! 🎯 ✅@Milliarderlarim

Hashtags

MILLIONER KUTUBXONASI

@Biglibrary_uz · Post #8551 · 22.01.2025 г., 16:49

#audiokitob 🔔 🎵 Azizlarim yaqinroq keling , kitob o'qishga vaqti yo'q qalblarimiz ushbu audio kitoblar aynan siz uchun! Ishlaringizni qilish bilan barobar audio kitoblarni ham naushnikda eshitib o'zingizni ham rivojlantirasiz! Bu men uchun doimiy odatga aylangan, ishlarimni qilish bilan birga o'zimni sevimli audio kitoblarimni eshitib , juda zo'r anglashlar olaman! ♥️ @Milliarderlarim

Hashtags

Hilol dasturlari

@hiloldasturlari · Post #3160 · 31.10.2025 г., 09:02

#audiokitob ✨«Sohilsiz dengiz» kitobidagi «Uchrashuv» bobidan parcha Toʻliq audiokitobni «Hilol eBook» ilovasi orqali bepul tinglashingiz mumkin. 😊 📖Ilovani yuklab oling:https://e-hilolnashr.uz/hilolebookdownload/ 📨 Murojaat uchun:@hilol_support @hiloldasturlari

Hashtags

Fors tilini o'rganamiz

@Forstili_Mominzoda · Post #700 · 30.01.2024 г., 22:21

Qarang, bir daqiqa! Kanaldagi hech bir islohotni sizning fikringizni so'ramasdan yo'lga qo'ymaymiz. Chunki biz "FORS TILINI BIRGALIKDA O'RGANAMIZ🤗" Mana o'tgan haftadan beri birgalikda serial ko'rishni boshladik. Bu hafta kitob o'qishni yo'lga qo'ydik. Lug'at yodlashga ulgurolmayotgan do'stlarimiz ko'p so'z e'lon qilayotganimdan norozi bo'lib, kamaytirishimni iltimos qilishdi 😁 Hechqisi yo'q. Yodlashga ulgurish ham kerak. Endi bir narsani o'yladim 🤔 Kino ko'rish uchun bir joyga o'tirib olish kerak. Hammada ham bunday imkoniyat bo'lavermaydi. Eski Sergelidan Yakkasaroy yoki Mirobodgacha qatnab o'qiyotgan talabalar uchun avtobusda eshitib ketishlari uchun #audiokitob ham qo'yib boraylikmikan? Nima deysiz? Agar buni yo'lga qo'ysak, haftaning quyidagi kunlaridan qaysi birida qo'ygan ma'qul? A. Seshanbaning o'zi B. Juma kunlari (Juma namozidan keyin) C. Seshanba va Juma kunlari D. Adminlarimizga nima ma'qul bo'lsa shu-da 😅 @Forstili_Mominzoda - Fors tilini birgalikda o'rganamiz 🤗

Hashtags