@endurosharmax · Post #260 · 01.08.2024 г., 11:24
АЛЕКСАНДР ГИЛЕМОВ О КВАДРОЦИКЛЕ SHARMAX FORCE1100 НА РАЛЛИ ШЕЛКОВЫЙ ПУТЬ 2024 #silkwayrally#шелковыйпуть#rally#sharmax
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
Пребарај: #silkwayrally
@endurosharmax · Post #260 · 01.08.2024 г., 11:24
АЛЕКСАНДР ГИЛЕМОВ О КВАДРОЦИКЛЕ SHARMAX FORCE1100 НА РАЛЛИ ШЕЛКОВЫЙ ПУТЬ 2024 #silkwayrally#шелковыйпуть#rally#sharmax
@endurosharmax · Post #251 · 26.07.2024 г., 14:04
SHARMAX MOTORS НА РАЛЛИ ШЕЛКОВЫЙ ПУТЬ - ФИНАЛ ГОНКИ SILK WAY 2024 - международный ралли-рейд, объединяющий несколько стран торжественно завершился. Вопреки всему, несмотря на тяжелую травму, наш гонщик Александр Гилемов прошёл этот тяжелый путь на квадроцикле Sharmax FORSE 1100 EFI. Он достойно завершил гонку, не взирая на боль и преграды, и не смотря не на что завершил гонку. Как это было? Смотрите в репортаже! #sharmax#silkwayrally#шелковыйпуть#rally
@endurosharmax · Post #238 · 12.07.2024 г., 13:43
Вашему вниманию представляется третья серия репортажа Sharmax Motors на ралли Шелковый путь - Больше чем гонка, ярче чем приключение В этом видео Александр Гилемов расскажет о первых впечатлениях участия в гонке Шелковый путь и первого боевого заезда на квадроцикле Sharmax FORCE 1100. Следите за новостями. Sharmax Motors будет держать вас в курсе событий! #sharmax#шелковыйпуть#atv#ралли#гонка#квадроциклы#SilkWayRally
@endurosharmax · Post #206 · 05.07.2024 г., 12:51
Вашему вниманию представляется вторая серия репортажа Sharmax Motors на ралли Шелковый путь. В этом видео Александр Гилемов ответит на главный вопрос: Каким должен быть квадроцикл для ралли? Александр расскажет о сложностях на пути ралли-рейда, выскажет экспертное мнение о квадроцикле Sharmax FORCE 1100, поделится личным опытом прохождения Шёлкового Пути минувших лет. Следите за новостями. Sharmax Motors будет держать вас в курсе событий! #sharmax#шелковыйпуть#atv#ралли#гонка#квадроциклы#SilkWayRally
@NNafisha · Post #8536 · 23.07.2025 г., 20:29
🏁💨 Команда ГАЗ Рейд Спорт успешно выступила на ралли-рейде «Шелковый путь 2025» Поздравляем призеров главного автоспортивного события с заслуженными медалями! 🎉 #ШелковыйПуть2025#SilkWayRally#Автоспорт#ГАЗРейдСпорт#Ралли#Внедорожники#ГазельNN#СадкоNEXT
@oar125 · Post #568 · 06.07.2024 г., 06:18
Торжественный подиум @silkwayrally - красивое и зрелищное мероприятие. Мы хотим поблагодарить жителей и гостей города Томск, за то, что разделили с нами этот замечательный вечер. Делимся первыми снимками праздника. Фотограф - Антон Еликов. @kamazmaster_team #Камаз#ВТБ#Газпром#1C#KamaTyres#энергогарант#GMGen#ArtaEDM#SilkWay#SilkWayRally#KamazMaster
@pro_AGNKS · Post #2757 · 03.07.2024 г., 12:36
Эдуард Николаев и Сергей Куприянов посетили церемонию открытия новой АГНКС сети «Газпром» в Томской области. Команда «КАМАЗ-мастер» на практике знакома с преимуществами газомоторного топлива и вносит свой активный вклад в развитии и популяризацию новых решений для автомобилей любых классов. В параде техники принял участие наш гоночный КАМАЗ. А также, Lada Vesta, Lada Largus, Газель Next, Автомобиль УАЗ, Автобус Yutong, Автобус НЕФАЗ, Автобус ПАЗ, Самосвал КАМАЗ. Поздравляем жителей области с новой АГНКС сети «Газпром»! #Камаз#ВТБ#Газпром#1C#KamaTyres#энергогарант#GMGen#ArtaEDM#SilkWay#SilkWayRally#KamazMaster