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

Резултати

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

Пребарај: #maximumrisk

当前筛选 #maximumrisk清除筛选
Видеотека 📼

@videotekashow · Post #14714 · 19.10.2025 г., 16:02

Впервые «Максимальный риск» попался мне в руки еще на кассете. Это была экранка под названием «Обмен», которую традиционно для 1996 года перевёл Сергей Визгунов. Смотреть фильм в таком качестве было невозможно, кассету мы позже благополучно перезаписали, так что этот боевик с Ван Даммом мне довелось посмотреть уже, скажем так, в более зрелом возрасте. Да, это уже был конец звёздного периода в карьере нашего недавнего юбиляра — его новый фильм впервые за долгое время вышел во многих странах сразу на видео, хотя для самого бельгийца лет буквально через несколько лет это станет нормой. Но благодаря прокату в Европе картина все-таки смогла собрать вполне приличную сумму. Причем заслуженно. В 2025 году это все еще отличный боевик с суровыми и в меру брутальными экшн-сценами. Ринго Лам, рекрутированный Ван Даммом из Гонконга, классно сработал, несмотря на едкие замечания западных кинокритиков 30-летней давности. Крепкий скрипт сценариста «Горца» и «Охоты за «Красным Октябрем» Ларри Фергюсона, благодаря которому самый знаменитый голливудский бельгиец вновь сыграл братьев-близнецов (один из них, правда, гибнет уже в прологе), вполне удобоваримая игра актеров, а также приемлемое количество клюквы — водка, Ван Дамм с балалайкой, смешной русский акцент, водка, задушевные песни в русском кабаке на Брайтон-Бич, забавные русские фамилии, опять водка, а также томик Достоевского на столе у русского мафиози — служат хорошим дополнением к мощному экшну. Так что смотреть очень даже можно и нужно. А уж три классные схватки героя Ван Дамма со здоровенным и практически неубиваемым русским бандюганом, раскиданные по фильму, действительно увлекают и моментально запоминаются. Причем стоит отметить, что все драки здесь «грязные», и фирменных па и шпагатов от Жан-Клода вы не увидите. Но при этом вам прямо в руки попадает ещё один отличный и недооценённый боевик из 90-х, который и сейчас выглядит очень прилично. #ВИДЕОТЕКА #MaximumRisk #МаксимальныйРиск #JeanClaudeVanDamme #ЖанКлодВанДамм #NatashaHenstridge #НаташаХенстридж #JeanHuguesAnglade #ЖанЮгАнглад

Видеотека 📼

@videotekashow · Post #14689 · 18.10.2025 г., 05:00

«Как же мне это надоело: три кувырка в воздухе, потом проламываешь кому-нибудь голову, а потом приземляешься на стол и говоришь: «Привет, я Жан-Клод Ван Дамм». Единственному и неповторимому Жан-Клоду Ван Дамму сегодня исполнилось 65 лет. #ВИДЕОТЕКА #JeanClaudeVanDamme #Bloodsport #Kickboxer #AWOL #UniversalSoldier #Timecop #MaximumRisk #DoubleTeam #JCVD #LeJardinier