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

Резултати

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

Пребарај: #3dprint

当前筛选 #3dprint清除筛选

Ағзаларды принтерде басып шығаруға болады ма? Жауап берді Егор Плахотнюк, «ССК РФ ТРИНИТЕТ» АҚ жетекші инженері. ——— Можно ли напечатать органы на принтере? Отвечает Егор Плахотнюк, ведущий инженер АО «ГНЦ РФ ТРИНИТИ». @rosatom_ca#технология#3dprint#технологии

New Delft Blue is a pioneering architectural project located in Delft, Netherlands, designed and 3D-printed by Studio RAP. This project reinterprets the iconic decorative qualities and design vocabulary of Delft Blue porcelain, integrating traditional elements with modern technological advancements. By combining 3D clay printing, computational design, and artisanal glazing, the project explores new possibilities for ceramic ornamentation in contemporary architecture. 📸Riccardo de Vecchi #3dprint#3dprintedarchitecture#3dprinting#ceramic#arch_shovel

В свете событий.

@vsvetesobytij · Post #15262 · 14.03.2026 г., 18:15

🇺🇸🔩🔩🔩 3Д Банка 3 в 1 MFMD — это уникальная система, сочетающая дульный тормоз, пламегаситель и глушитель в одном дизайне, и это, без сомнения, одна из самых упоротых систем, которые доводилось видеть. 👀 На его фоне пистолет Aliens не казать чтобы шибко и Инопланетный 😎 В обЧем будем посмотреть за успехами. 📱YouTube #rifle#silencer#3dprint#дтк#пламягаситель#глушитель#банка

Telegram 公眾索引頻道

@TG_index_channel · Post #1139 · 25.03.2020 г., 13:44

標題:台灣 創客 3DP與雷切//討論完全初學者 業餘的//不歡迎廣告洗版 類別:#公開#群組#繁中 分類:#興趣#臺灣#科技#社群#學術 標籤:#雷射切割#3D列印#創客#3DP#3Dprint#自造#DIY#maker 簡介:業餘討論專區 正體中文 中國簡體勿入 主題: 3DP 雷切 不管是不懂還是超懂都歡迎 勿發廣告 色情 騷擾 玩機器指令 洗版 洗廣告 或是讓管理員不爽 違者管理員BAN