Установить свойства виджета в 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
В России стартовали продажи пикапа Foton Tunland G9, похожего на Ford F-150
На российском рынке появился в продаже Foton Tunland G9. Флагманский рамный пикап в единственной комплектации Premium оценивается в 3 640 000 рублей.
Foton Tunland G9, дизайн экстерьера которого навевает ассоциации с Ford F-150, относится к классу среднеразмерных пикапов. Его длина составляет 5340 мм, ширина — 1980 мм, высота — 1920 мм, а колёсная база — 3110 мм. Размеры внутренней грузовой платформы — 1520х1580х440 мм соответственно. Пикап может буксировать прицеп весом до 3 тонн.
В движение G9 приводит 2.0-литровый турбодизель (162 л.с. и 388 Нм), работающий с 8-диапазонным «автоматом». Привод полный с муфтой на передней оси и блокировкой заднего дифференциала.
В список оснащения модели вошли 6 подушек безопасности (фронтальные, боковые и шторки), задние парктроники, а также ассистенты помощи при экстренном торможении, удержания на подъёме и спуске со склона, предупреждения о столкновении со встречным автомобилем и пешеходами.
В салоне установлены 12,3-дюймовая цифровая панель приборов и центральный экран того же размера. Из опций комфорта перечислены амбиентная подсветка, климат-контроль и аудиосистема с 6 динамиками. У водительского кресла есть функция вентиляции, у обоих передних сидений — подогрев. За доплату доступны светодиодные фары и передние парктроники.
Источник: auto.ru/mag/article/rossii-nachalis-prodazhi-ramnogo-pikapa-foton-tunland-g9-pohozhego-na-ford-f150/
#RCINews#Foton
В России показали новый фургон Foton View
Компания «МБ Рус» - дистрибьютор бренда #Foton на российском рынке, представила новый фургон под названием View. Модель планируется продавать в двух вариантах размера кузова и полной массы с безальтернативным турбодизелем. Фургону обещаны вместительный кузов и насыщенная базовая комплектация, но цены пока официально не названы.
Фургон отличается дизайном с налётом футуристичности: стилистика Foton View отчасти роднит его с легковыми электромобилями из КНР. Относительно легковым выполнен и интерьер кабины.
Базовая модификация View имеет размеры 5490х1980х1990 мм при колёсной базе 3510 мм. Полная масса составляет 2490 кг, объём грузового отсека — 6,8 куб. м. Со временем семейство пополнит вариант с теми же габаритами, но с более высокой крышей (2195 мм). За счёт увеличения высоты объём фургона увеличится до 7,9 куб. м., при этом полная масса вырастет до 3100 кг.
Foton View будут комплектовать 2.0-литровым дизельным мотором с отдачей 159 л.с. и 377 Нм, в связке с 6-ступенчатой "механикой" или 8-диапазонным "автоматом".
В оснащение фургона войдут диодная светотехника, три регулируемых кресла в кабине, кондиционер, система бесключевого доступа и круиз-контроль. Среди специфических российских опций названы подогревы водительского кресла, лобового стекла и зеркал, а также адаптированный к холодам аккумулятор.
Источник: auto.ru/mag/article/v-rossii-oficialno-poyavitsya-novyy-furgon-foton-view/
#RCINews
🚛Модель: Foton Auman
Код предложения:
АЛ 225777/04-23
VIN: LVBS6PEB3NT065394
Год выпуска: 2022
Пробег: 129 975 км
Стоимость: 3 321 700 ₽
📍г. Москва
📞Телефон для связи: 8-800-700-81-34
#техникаспробегом
#Москва
#Foton
Доля китайских машин на рынке новых LCV превысила 4%
По данным «Автостат Инфо», в первом квартале 2025 года в России было продано 18 143 новых легких коммерческих автомобиля (LCV) — это на 20% меньше, чем годом ранее (22 629 ед.).
Российские марки продолжают доминировать в этом сегменте: за январь–март 2025 года было реализовано 16 476 отечественных LCV против 20 965 годом ранее. Несмотря на снижение объемов, рыночная доля российских производителей немного выросла и составила 93%.
Продажи китайских брендов в сегменте LCV за отчетный период увеличились с 687 до 750 ед., а их доля на рынке выросла на 1,2 п.п. — с 3% до 4,2%.
Лидером среди китайских производителей стал Foton, чьи продажи выросли на 168% — с 131 до 351 ед. На втором месте — Dongfeng: компания продала 288 машин, что на 27% меньше, чем годом ранее (397 ед.). Замыкает тройку Changan с результатом 45 автомобилей против 78 в первом квартале 2024 года.
#автостатинфо#автоновости#foton
Подписка на Автостат Инфо
Еще больше информации в отчетах
Для связи
🚌 Междугородний/туристический автобус FOTON 6122 - как же он похож на ЛиАЗ 5290 Круиз.
Перед нами очень интересный китайский экспонат междугороднего или туристического автобуса – ФОТОН 6122
В чем его уникальность?
1. Это очень мощный движок. Он будет ходить миллионы километров без капитального ремонта;
2. Это обалденная подвеска, автобус не раскачивается и уверенно ведёт себя на дороге;
3. Очень качественные запасные части, которые используются при сборке автобуса
Да, конечно, есть куча минусов, такие как сборка, точнее говоря качество, качество покраски, количество мест и длина автобуса.
Короче :-) вот вам видеообзор смотрите :-)
🎈Контакты для связи
+79111234999
[email protected]
#foton#фотон