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

Резултати

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

Пребарај: #turnnews

当前筛选 #turnnews清除筛选
8TURN • 에잇턴 • MNH ENT

@turn8entertaiment · Post #44238 · 26.04.2026 г., 11:04

🗣️: Привет, классный старший брат! 💐 (Держит розу) (Лежит на боку) (Моргает глазами) (Неожиданно падает с кровати) (Делает сальто на одной ноге) (Лежит на боку на полу) (Продолжает моргать глазами) — я влюбился 🗣️: Я долго думал, что сказать, и, поскольку Чон Хэмин уходит, решил просто зарегистрироваться... 🐋 — Лучше действовать, чем раздумывать!!! 🗣️: ㅃㅇ Готовимся к учебе 👋 — Удачи в учебе!!!! 🍀 🗣️: Хэмин, я здесь. — Вот здесь и здесь!!! ㅔ 🗣️: Хэмин, я снял это во время фан концерта, и мне оно так понравилось, что я хочу поделиться им с вами, ха-ха. Я так скучаю по моему мистеру Хэму!! (17) — Я просто хочу вернуться назад. — 190000 📢@Turn8Entertaiment For-8Turn #TurnNews #News

8TURN • 에잇턴 • MNH ENT

@turn8entertaiment · Post #43816 · 15.03.2026 г., 15:15

Перевод Хён, уже прошло 3 года. Всегда спасибо тебе! Благодаря тебе я набираюсь сил. Даже когда у меня нет энергии, ты поддерживаешь меня. Ты как настоящий ENFP — всегда яркий и тёплый. Давай и дальше идти вместе и создавать много ценных воспоминаний. С днём рождения! Наш Хэм-за, с днём рождения!! ♡ Я тебя поздравляю уже четвёртый год. За эти четыре года многое изменилось, но мои чувства не изменились. Я всегда буду на твоей стороне! Спасибо тебе, Хэмин ♡ Хэм-за, поздравляю с днём рождения! ♡ Уже четвёртый раз поздравляю тебя. Всегда заботься о себе, ешь вкусную еду и будь счастлив. Иногда бывает тяжело, но давай и дальше идти вместе. С днём рождения! Хэмин, ты для меня человек, который даёт много сил. Каждый раз, когда мне тяжело, я думаю о тебе и снова поднимаюсь. Твоя искренность и старание всегда вдохновляют. Я хочу и дальше поддерживать тебя и идти рядом. Спасибо тебе за всё. Всегда будь здоров и счастлив! Привет, Хэмин! С днём рождения. Ты очень тёплый и добрый человек. Хотя ты иногда говоришь, что не уверен в себе, для многих людей ты уже огромная поддержка. Надеюсь, ты будешь получать такую же любовь, какую даришь другим. Береги себя. Я всегда болею за тебя. Хэм-за! С днём рождения~~~ В этом году тоже улыбайся больше и будь счастлив. Я всегда буду рядом и поддерживать тебя Хэм-за, с днём рождения. Будь здоров и счастлив. Надеюсь, ты знаешь, как сильно мы тебя любим. И дальше дари нам свою улыбку. 📢@Turn8Entertaiment For-8Turn #TurnNews #News

8TURN • 에잇턴 • MNH ENT

@turn8entertaiment · Post #44428 · 10.05.2026 г., 07:24

#Twitter 📍 Обновление твиттера 8turnjapan KCONJAPAN2026 RECAP⚡ 🔥5/8 fri DANCE STAGE🕺 X STAGE🔨 ARTIST BOOTH VISIT🫶 🔥5/9 sat M COUNTDOWN STAGE💚 ARTIST BOOTH VISIT🫰 📢@Turn8Entertaiment For-8Turn #TurnNews #News

8TURN • 에잇턴 • MNH ENT

@turn8entertaiment · Post #44412 · 09.05.2026 г., 15:17

#Twitter 📍 Обновление твиттера 8TURN_official — KCON в Японии был просто потрясающим 💕 Увидимся в следующий раз ❤️ — It was so much fun at KCON JAPAN 💕 See you again next time ❤️ 📢@Turn8Entertaiment For-8Turn #TurnNews #News

123•••5•••10•••15•••20•••25•••30•••35•••40•••45•••50•••55•••60•••65•••6869
ПретходнаСтраница 1 од 69Следна