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

Резултати

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

Пребарај: #off

当前筛选 #off清除筛选
Gatingo Art

@gatingo_art · Post #537 · 02.11.2024 г., 13:20

7 ноября – 7 декабря 2024 г. состоится 15-й выпуск всемирно известного фестиваля современного искусства «Dak'art Biennale» в г. Дакар (Сенегал, Западная Африка), тема биеннале: «Пробуждение». В этом крупнейшем арт-событии принимают участие известные африканские деятели искусств и представители других стран. «Dak'art Biennale» - это яркие творческие открытия и новая волна вдохновения для деятелей искусств! Команда Российско-Африканской Творческой Ассоциации #GatingoArt принимает участие в программе #OFF и представит две экспозиции: "Мир за горизонтами" в Национальном театре Д.#СОРАНО и "Диалоги в искусстве: арт-пробуждение от Африки до Арктики" в Музее Моря. #GatingoArtNews

探索号

@seeker_rc · Post #19690 · 05.05.2026 г., 16:55

How to turn off Communication Safety for Apple devices Learn what to do if your iPhone, iPad, Mac, or Vision Pro automatically blurs nude photos and videos, even though you don’t want this. via iDB - Mac 标签: #How#turn#off ⚡️探索号频道 ⚡️探索者频道 ⚡️探索者交流群 ⚡️ Youtube 频道:科技探索者 每天推荐有趣内容,欢迎订阅、转发。

Сергей Шевелев

@sheveleu · Post #137 · 13.06.2024 г., 19:16

Это было очень необычное ощущение! СТРЫМ мне понравился. Прискорбно, что не каждый комментарий успел прочитать НО в следующий раз подключу музыку к текстовым оповещениям - и уже ничего не пропущу. Огромное спасибо за всю поддержку стрыма и рубликом в донат, и буквами в комментах, и просто глазами на монитор. Интересно, сумели ли вы все отгадать, какие категории понравились, за кого болели... обо всем спрошу в следующий раз. Ух. Отдыхаем. #off#стрымпрошеладождьидет#новыеподписчикиприветхотявыещехэштегинечитаете

Fang的资源分享群

@FLMdongtianfudi · Post #14197 · 25.08.2025 г., 15:07

📚 名称:H-U-E K-M-S激活工具最新版,一键激活Wi-n-do-ws系统与Off-i-ce办公软件 ⭐️ 亮点:H-U-E K-M-S激活工具最新版,一键激活Wi-n-do-ws系统与Off-i-ce办公软件 🏷 标签:#激活工具#Wi-n-do-ws系统 #Off-i-ce办公软件 #H-U-E K-M-S 👉 链接:https://pan.quark.cn/s/1db30457345b 🔔Twitter👥频道💬群组