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

Пребарај: #saveyourlife

当前筛选 #saveyourlife清除筛选
KNAUF Uzbekistan

@knaufuzbekistan · Post #972 · 29.09.2025 г., 05:00

Yong‘in ro‘y berganda har daqiqa g‘animat. Qutilishga ulgurasizmi? Yaqinlaringiz xavfsizlikda bo‘ladimi? Mol-mulkingiz but qoladimi? Yong‘in – bu vayronalargina emas, balki: · alangadan ko‘ra tezroq halok etuvchi zaharli tutun. · to‘g‘ri ish tutishga to‘sqinlik qiluvchi vahima. · sizni har narsadan mosuvo qilishi mumkin bo‘lgan xavf. Aynan mana shu sababli, passiv yong‘in xavfsizligi nihoyatda muhim hisoblanadi. Bu nima degani? · Bu alangani to‘sib, uning atrofga tarqalishiga yo‘l qo‘ymaydigan materiallardir. Nega bu muhim? · Zaharli tutun – yong‘inlardagi o‘lim holatlarining asosiy sabablaridan biri. · Har daqiqa kechikish ko’riladigan zararni bir necha barobarga oshiradi. · Himoya choralarisiz alanga 5 barobar tez tarqaladi. Mol-mulkingiz but qoladi: faqat bitta xona yonishi va o‘t o‘chirish xizmatlari olovni o‘chirishga ulgurishi yoki butun bino yonib bitishi mumkin. Farqi katta, to‘g‘rimi? Evakuatsiya uchun vaqt oltinga teng: tasavvur qiling, yong‘in bitta xonada bo‘lsa, odamlar binoni xavf-xatarsiz tark etadilar. Yoki yong‘in bir lahzada butun binoni qamrab olib, evakuatsiya yo‘llarini to‘sib qo‘yadi va qutulishga imkon qoldirmaydi. KNAUF xavfsizlik to‘g‘ri qarorlardan boshlanishiga ishonadi. Hayot va mol-mulkni asrab qoluvchi himoya usullarini tanlang. Passiv yong‘in xavfsizligi – bu sizning omon qolish imkoniyatingizdir. O‘zingiz va yaqinlaringizni asrang.| - - - - - Когда случается пожар, важна каждая минута. • Успеете ли вы спастись? • Будут ли ваши близкие в безопасности? • Сохранится ли ваше имущество? Пожар — это не только разрушение, это: • Токсичный дым, который убивает быстрее, чем огонь. • Паника, которая мешает действовать. • Опасность, которое может оставить вас без всего. Именно поэтому так важна пассивная пожарная безопасность. Что это такое? • Это материалы, которые сдерживают огонь и не дают ему распространяться. Почему это важно? • Токсичный дым — одна из главных причин гибели при пожарах. • Каждая минута промедления увеличивает ущерб в разы. • Без этих мер огонь распространяется в 5 раз быстрее. Ваше имущество может остаться неповреждённым: возможен вариант, когда возгорание ограничивается одной комнатой и пожарная служба успевает ликвидировать огонь, либо же пожар может охватить всё здание. Разница большая, верно? Время для эвакуации на вес золота: представьте, что возгорание происходит в одном помещении — люди успевают безопасно покинуть здание. Или же огонь мгновенно распространяется на весь объект, блокируя пути эвакуации и не оставляя шанса на спасение. Мы в КНАУФ верим, что безопасность начинается с правильных решений. Выбирайте способы защиты, которые защищают жизни и имущество. Пассивная пожарная безопасность — это ваш шанс на спасение. Берегите себя и своих близких. YouTube Instagram Facebook www.knauf.uz #knaufuzbekistan #saveyourlife #KNAUF_YongingaChidamlilik

KNAUF Uzbekistan

@knaufuzbekistan · Post #969 · 22.09.2025 г., 04:00

QARANG, FVVda qanday rolik ko‘rdik! Har kuni yangiliklarda yong‘inlar haqida eshitamiz. Lekin, bilasizmi, eng dahshatlisi nimada? O‘t-olovning o‘zi emas, balki odamlar ko‘p hollarda qanday qutulishni bilmasligidadir. FVV ogohlantirmoqda: yong‘inlar siz o‘ylagandan ko‘ra ko‘proq ro‘y beryapti. Bunday vaziyatlarda nafaqat yong‘inni o‘chirish, balki o‘t o‘chog‘idan tez evakuatsiya qilish ham juda muhim. HAR BIR daqiqa siz va yaqinlaringiz hayotini hal qiladi. Yong‘inni oldini olish va yong‘in sodir bo‘lganda qanday harakat qilish kerakligini bilish uchun FVVning videosini tomosha qiling. Bu ma’lumot hayotingizni saqlab qolishi mumkin. O‘zingizni asrang. Xavfsizlikni tanlang. - - - - - Текст на русском @fvvmchs @FVV.Uzbekiston #knaufuzbekistan #saveyourlife #fire #KNAUF_YongingaChidamlilik

KNAUF Uzbekistan

@knaufuzbekistan · Post #985 · 25.10.2025 г., 10:00

Yong‘in to‘satdan sodir bo‘lishi mumkin, va alanga butun binoga tarqalib ketmasligi juda muhim. KNAUF S 112 pardevori himoyaning asosiy yechimidir. • Oddiy dizayn: metall karkas va har tomondan ikki qavatli gipskarton qoplamalari; • Yong‘inga samarali chidamlilik: yong‘inni mahalliylashtirish va mol-mulkni saqlash. • Turar-joy, ma’muriy, savdo binolari va hatto odamlar gavjum bo‘lgan xonalar uchun aʼlo yechim. To‘g‘ri tanlov qiling - o‘zingizni va mol-mulkingizni KNAUF bilan birgalikda asrang! - - - - Версия на русском #knaufuzbekistan #КНАУФ #ПожарнаяБезопасность #ПерегородкиКНАУФ #С112 #olovbardoshlik #saveyourlife