Установить свойства виджета в 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
👷♂️Siz charchagansiz va uyda yoki idorada sukunatdan bahra olishni xohlayapsiz, ammo qo'shni xonalardagi shovqin devorlardan shunday o’tmoqdaki, bu devorlar yo’qdek go'yo.
☝️Ovoz izolatsiyasi (56 dBgacha) va olovga chidamliligi (EI qiymati 90 gacha bo’lgan olovga chidamli GQP-DF KNAUF-qoplamalar) bo’yicha yuqori talablarga javob beradigan universal qurilma – KNAUF S 112 pardevorlari sizning holatingizda eng yaxshi yechimdir. Ushbu tizimni yig'ish tezligi vaqtni sezilarli darajada tejashga va yanada tezroq yakuniy ishlovni boshlashga imkon beradi.
S 112 tarkibiga quyidagilar kiradi:
(1) KNAUF-qoplama (GQP-A (GKQ), GQP-H2 (GKQN), GQP-DF (GKQO), GQP-DFH2 (GKQNO)) 12,5 mm
(2) KNAUF profil yo’naltiruvchi PY 50 × 40 (75 × 40, 100 × 40)
(3) KNAUF profil ustun PU 50 × 50 (75 × 50, 100 × 50)
(4) Mineral paxtali tovush izolyatsiyasi AkustiKNAUF (KNAUF-Insuleyshn materiallari)
(5a) KNAUF burama mixi TN 25
(5b) KNAUF burama mixi TN 35
(6) KNAUF-Fugen shpaklovkasi (tutashish choklarini yopish uchun)
(7) KNAUF-Kurt (tasma armaturalovchi)
(8) KNAUF-Dyubel-mix 6 × 40
(9) KNAUF-Dihtungsband- (tasma zichlovchi)
(10) KNAUF-Tifengrund gruntovkasi
(11) KNAUF- profil BH (burchak himoyasi), perforatsiyalangan
(12) KNAUF-Trennfiks (tasma ajratuvchi)
Devorlaringiz uchun KNAUF kompleks yechimlari.👌
- - - - -
👷♂️Вы устаете и хотели бы насладиться тишиной дома или в офисе, но стены передают звук из смежных помещений так, будто их совсем нет.
☝️Универсальная конструкция, способная обеспечить высокие требования по звукоизоляции (до 56 дБ) и огнестойкости (до EI 90 с применением огнестойких КНАУФ-листов ГСП- DF),
перегородка КНАУФ С 112 является отличным решением для вашего случая. Скорость сборки данной системы позволит значительно сэкономить время и максимально быстро приступить к финишной отделке.
В состав С 112 входят:
(1) КНАУФ-лист (ГСП-A(ГКЛ), ГСП-H2(ГКЛВ), ГСП-DF(ГКЛО, ГСП-DFH2 (ГКЛВО)) 12,5 мм
(2) КНАУФ-профиль направляющий ПН 50×40 (75×40, 100×40)
(3) КНАУФ-профиль стоечный ПС 50×50 (75×50, 100×50)
(4) Минераловатная звукоизоляция АкустиКНАУФ (материал от КНАУФ-Инсулейшн)
(5а) КНАУФ-шуруп прокалывающий TN 25
(5б) КНАУФ-шуруп прокалывающий TN 35
(6) Шпаклевка КНАУФ-Фуген(для заделки стыков)
(7) КНАУФ-Курт (лента армирующая)
(8) КНАУФ-Дюбель-гвоздь 6×40
(9) КНАУФ-Дихтунгсбанд- (лента уплотнительная)
(10) Грунтовка КНАУФ-Тифенгрунд
(11) КНАУФ-профиль ПУ(углозащитный)перфорированный
(12) КНАУФ-Треннфикс (лента разделительная)
Комплексные решения КНАУФ для ваших стен.👌
Сайт|Facebook|Instagram
#knaufuzbekistan#komplekttizimi#s112
Sizning devoringiz tekis boʻlmagan yuzali gʻisht yoki beton devormi?
🧐Joyingiz kam, ustiga ustak mablagʻingiz ham cheklanganmi?
Bizda siz uchun ajoyib yechim bor.👌
KNAUF-Perlfix – bu tutib turuvchi karkasni oʻrnatmasdan KNAUF- qoplamalari yordamida egri devorlarni tekislash imkonini beradigan gips uchun moʻljallangan montaj yelimidir. Bu devorlar sirtini qoplashda xona maydonining kamayishining oldini olishga katta yordam beradi. (KNAUF S 611 komplekt tizimi)
Ekologik sof tabiiy mineraldan (gips) tayyorlangan, yaʼni sizning sogʻligʻingiz uchun xavfsizdir.🍀
Binoning ichki qismini taʼmirlash uchun ishlatiladi.
Sifatli materiallardan foydalaning.
KNAUFʼdan foydalaning.
- - - - -
👷♂️У вас есть кирпичная или бетонная стена с неровной поверхностью?
🧐Мало места, да и бюджет ограничен?
А у нас есть отличное решение для вас. 👌
КНАУФ-Перлфикс клей гипсовый монтажный, позволяет выровнять кривые стены с помощью КНАУФ-листов без установки несущего каркаса. Это здорово помогает снизить потери площади при облицовке стен. (Комплектная система КНАУФ С 611)
Изготовлен из экологически чистого природного минерала (гипса), то есть, безопасен для вашего здоровья. 🍀
Применяется для внутренних работ.
Используйте качественные материалы.
Используйте КНАУФ.
YouTube
Instagram
Facebook
#knaufuzbekistan#perlfix#c611#komplekttizimi
👷♂️Sizning devoringiz tekis boʻlmagan yuzali gʻisht yoki beton devormi?
🧐Joyingiz kam, ustiga ustak mablagʻingiz ham cheklanganmi?
Bizda siz uchun ajoyib yechim bor.👌
KNAUF-Perlfix – bu tutib turuvchi karkasni oʻrnatmasdan KNAUF- qoplamalari yordamida egri devorlarni tekislash imkonini beradigan gips uchun moʻljallangan montaj yelimidir. Bu devorlar sirtini qoplashda xona maydonining kamayishining oldini olishga katta yordam beradi. (KNAUF S 611 komplekt tizimi)
Ekologik sof tabiiy mineraldan (gips) tayyorlangan, yaʼni sizning sogʻligʻingiz uchun xavfsizdir.🍀
Binoning ichki qismini taʼmirlash uchun ishlatiladi.
- - - - -
👷♂️У вас есть кирпичная или бетонная стена с неровной поверхностью?
🧐Мало места да и бюджет ограничен?
А у нас есть отличное решение для вас.👌
КНАУФ-Перлфикс клей гипсовый монтажный, позволяет выровнять кривые стены с помощью КНАУФ-листов без установки несущего каркаса. Это здорово помогает снизить потери площади при облицовке стен. (Комплектная система КНАУФ С 611)
Изготовлен из экологически чистого природного минерала (гипса), то есть, безопасен для вашего здоровья.🍀
Применяется для внутренних работ.
Сайт| Facebook|Instagram
#knaufuzbekistan#perlfix#c611#komplekttizimi
👷♂️P 112 komplekt tizimi – bu metall sinch (karkas)ga ikki satxli shift oʻrnatish uchun moʻljallangan va puxtalik bilan tanlab olingan materiallar majmuasi.
🧐Bu tizimning oʻziga xosligi shundaki, osma shift sinchining asosiy shiftga maxsus osgichlar yordamida mahkamlangan asosiy profillari bilan KNAUF-qoplama gipskartonlari mahkamlanadigan yuk koʻtaruvchi profillar turli balandlikda joylashgan boʻladi.
☝️Jiddiy sifat nazorati, zamonaviy texnologiyalar KNAUF shift tizimlari uzoq muddat xizmat qilishining kafolatidir.
💪P 112 bu gʻishtli va blokli inshootlarga mos keladigan, qattiq va mustaqkam konstruksiyadir. Nonius-osma osgichlari uzaytirgich va ulagich bilan birgalikda shiftning balandligini 2 metrgacha oraliqda moslashtirishga imkoniyat beradi. Sizda ventilyatsiya va kanalizatsiya tarmoqlarini ortiqcha koʻzlardan yashirishning yaxshigina imkoniyati paydo boʻladi.
👌Inson uchun qulay va yoqimli mikroiqlim ekologik toza material hisoblangan KNAUF-qoplama tufayli taʼminlanadi. U dyeyarli barcha KNAUF komplekt tizimlarining negizi hisoblanadi.
KNAUF shift tizimlari, ishonchli va xavfsizdir. “Hoʻl” jarayonlarning yoʻqligi ish unumdorligini sezilarli darajada oshiradi, bu esa mazkur tizimning yana bir afzalligidir. 👍
👉Tizim tarkibiga quyidagilar kiradi:
KNAUF- qoplama 12,5 mm
KNAUF-profil PSh 60x27
Profillarni uzaytirgich
Ikki satxli tutashtirgich
Toʻgʻri osma (podves) (Osma qisqich va tyaga bilan, Nonius-osma yigʻilgan holatda)
TN 25 Burama mixi
Metal Anker pona
KNAUF-Kurt (Armaturalovchi tasma)
KNAUF-Fugen (Choklarni suvash uchun pardozlash qorishmasi)
KNAUF-Tifengrund (Gruntovka)
KNAUF-Trennfiks (Ajratuvchi tasma)
KNAUF-profil PY 28x27
LN 9,5 Burama mixi
Dyubel-mix 6×40
Sizning shiftlaringiz uchun KNAUF kompleks yechimlari.😊
- - - -
👷♂️Комплектная система П 112 – это комплекс тщательно подобранных материалов, с помощью которых собирается двухуровневый потолок на металлическом каркасе.
🧐Отличительной особенностью этой системы является то, что основные профили каркаса подвесного потолка, закрепленные с использованием подвесов к базовому потолку, и несущие профили, к которым крепится гипсокартонный КНАУФ-лист, расположены на разных уровнях .
☝️Строгий контроль качества, современные технологии, являются гарантом долгосрочности потолочных систем КНАУФ.
💪П 112 это жесткая и крепкая конструкция, хорошо подходящая для кирпичных и блочных строений. Нониус-подвес в тандеме с удлинителем и соединителем дают возможность варьировать высоту потолка до 2м. У Вас появится отличная возможность скрыть вентиляционные или канализационные трубы от лишних глаз.
👌Благоприятный для человека микроклимат обеспечивается благодаря КНАУФ-листу, экологически чистому материалу, который является основой основ практически всех комплектных систем КНАУФ.
Потолочные системы КНАУФ надежны и безопасны. А исключение «мокрых» процессов значительно увеличит производительность труда, что является еще одним преимуществом данной системы.👍
👉В состав системы входят:
КНАУФ- лист 12,5 мм
КНАУФ-профиль ПП 60x27
Удлинитель профилей
Соединитель двухуровневый
Прямой подвес (Подвес с зажимом и тягой, Нониус-подвес в сборе)
Шуруп TN 25
Анкер клин металлический
КНАУФ-Курт (Армирующая лента)
КНАУФ-Фуген (шпаклёвочная смесь для заделки швов)
КНАУФ-Тифенгрунд (Грунтовка)
КНАУФ-Треннфикс (Разделительная лента)
КНАУФ-профиль ПН 28x27
Шуруп LN 9,5
Дюбель-гвоздь 6×40
Комплексные решения КНАУФ для ваших потолков.😊
Сайт|Facebook|Instagram
#knaufuzbekistan#п112#p112
#комплектнаясистема#komplekttizimi
👷♂️Agar obyektdagi yoki uydagi devorlar anchagina notekis boʻlsa, suvoq qilish natijani bermaydi, asosni tekislash uchun esa odamni koʻp pul sarflagisi kelmaydi. Bunday holatda tayanch devorga mahkamlangan metall karkasdagi KNAUF-qoplamalaridan iborat bir qavatli yoki ikki qavatli qoplamalar – S 623 komplekt tizimi eng yaxshi yechim boʻladi.
Batafsil ma'lumot 👉 havola orqali.
- - - - -
👷♂️Если стены на объекте или дома имеют большие неровности, оштукатуривание не дает желаемых результатов, а тратить уйму денег на выравнивание основания совсем не хочется, отличным решением будет однослойная или двухслойная облицовка из КНАУФ-листов на металлическом каркасе, закрепленном на базовой стене, Комплектная система С 623.
Подробнее по 👉ссылке.
Сайт | Facebook | Instagram | Knauf-bot
#knaufuzbekistan#s623#profil#gqp#tn25#tn35
#komplekttizimi#c623#профиль#гипсокартон