@TestFlightX · Post #34460 · 04.11.2024 г., 10:22
#PENBOOK#PENCIL#NOTEBOOK https://testflight.apple.com/join/tczXEuHz
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
Пребарај: #pencil
@TestFlightX · Post #34460 · 04.11.2024 г., 10:22
#PENBOOK#PENCIL#NOTEBOOK https://testflight.apple.com/join/tczXEuHz
@AloneSnowflake · Post #96 · 29.05.2023 г., 10:32
。゚゚・。・゚゚。 ゚。ᴀᴘᴘʟʏ ᴛʜᴇᴍᴇ 。 (ᴛɢx)✨ ゚・。・ᴊᴏɪɴ ᴄʜᴀɴɴᴇʟ💙 •˚ #Color#Colored#Colorful#Coloredpencil#Colorfulpencil#Pencil#Light
@ai_odyssey_art · Post #56885 · 08.02.2026 г., 09:38
Гена (2026) Реж. Алексей Герман-младший Иногда крокодил Гена вырастает до размеров города, заслоняя небо, а иногда уменьшается до человеческого роста и медленно идёт вдоль канала, сжимая гармошку в лапах. По ночам из каналов доносится звук гармошки — тихий, добрый, будто удерживающий город от распада. Власти объявляют тревогу, жители бегут, а сам Гена продолжает играть... спасти город сможет только дружба. #digitalpainting#characterdesign#drawings#cartoon#photoshop#instagood#sketching#digital#photography#graphic#comics#pencil#digitalartist#designer ***** Subscribe!⬅️ Click!
@ai_odyssey_art · Post #56784 · 05.02.2026 г., 09:50
Забирай гайд по улучшению жизни. #digitalpainting#characterdesign#drawings#cartoon#photoshop#instagood#sketching#digital#photography#graphic#comics#pencil#digitalartist#designer ***** Subscribe!⬅️ Click!
@ai_odyssey_art · Post #56759 · 04.02.2026 г., 20:15
Бойцы "Мортал Комбат"... #digitalpainting#characterdesign#drawings#cartoon#photoshop#instagood#sketching#digital#photography#graphic#comics#pencil#digitalartist#designer ***** Subscribe!⬅️ Click!
@ai_odyssey_art · Post #56749 · 04.02.2026 г., 13:35
Голливуд в советском стиле СССР 80x-90x ... #digitalpainting#characterdesign#drawings#cartoon#photoshop#instagood#sketching#digital#photography#graphic#comics#pencil#digitalartist#designer ***** Subscribe!⬅️ Click!
@ai_odyssey_art · Post #56732 · 04.02.2026 г., 09:35
Том и Джерри: Дом без перемирия (2024) Реж. Роберт Земекис В старом большом доме начинается череда бесконечных столкновений: кот Том решает наконец-то навести порядок и избавиться от неуловимого Джерри, а мышонок превращает каждую комнату в поле для хитроумных ловушек. Кухня, гостиная, чердак и подвал становятся аренами изобретательных дуэлей. #digitalpainting#characterdesign#drawings#cartoon#photoshop#instagood#sketching#digital#photography#graphic#comics#pencil#digitalartist#designer ***** Subscribe!⬅️ Click!
@ai_odyssey_art · Post #56607 · 31.01.2026 г., 20:24
СВЯТОЙ ТЕНЕЙ ВИЗАНТИНСКОЙ ИМПЕРИЯ ... В священных мозаиках Константинополя новый лик заменил святых. Одет в царский тирианский пурпур и увенчанный ореолом золотого дурастеля, Темный Лорд правит Востоком. Он — Базилей, который вносит порядок в хаос, требуя не только верности, но и поклонения ... Сила - его религия, а ересь наказывается удушьем ... #digitalpainting#characterdesign#drawings#cartoon#photoshop#instagood#sketching#digital#photography#graphic#comics#pencil#digitalartist#designer ***** Subscribe!⬅️ Click!
@ai_odyssey_art · Post #56597 · 31.01.2026 г., 19:49
Вайб 90-х и звёзды Голливуда ... #digitalpainting#characterdesign#drawings#cartoon#photoshop#instagood#sketching#digital#photography#graphic#comics#pencil#digitalartist#designer ***** Subscribe!⬅️ Click!
@ai_odyssey_art · Post #56572 · 31.01.2026 г., 15:53
Легенда ... #digitalpainting#characterdesign#drawings#cartoon#photoshop#instagood#sketching#digital#photography#graphic#comics#pencil#digitalartist#designer ***** Subscribe!⬅️ Click!
@ai_odyssey_art · Post #56553 · 31.01.2026 г., 11:24
РЕБЯТА С НАШЕГО ДВОРА .. А что если соединить кумиров детства с эпицентром этого самого детства ... Эти кадры не про звёзд. Они про нас. Про мамин крик «Паша, домой!» ... #digitalpainting#characterdesign#drawings#cartoon#photoshop#instagood#sketching#digital#photography#graphic#comics#pencil#digitalartist#designer ***** Subscribe!⬅️ Click!
@ai_odyssey_art · Post #56543 · 31.01.2026 г., 09:18
Персонажи из знаменитой франшизы "Бросок Кобры"... #digitalpainting#characterdesign#drawings#cartoon#photoshop#instagood#sketching#digital#photography#graphic#comics#pencil#digitalartist#designer ***** Subscribe!⬅️ Click!