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 слични објави

Пребарај: #remix

当前筛选 #remix清除筛选
dopingpong

@dopingram · Post #4166 · 15.08.2025 г., 08:17

«Игла Remix», flash анимация арт-группы Doping Pong, 2009 Это был первый трейлер будущего фильма Рашида Нугманова «Игла Remix». Мы увидели его именно таким и предложили весь фильм решить в анимационном стиле. У режиссера было свое видение и в результате ремикс был сделан в другой манере. Однако в День памяти Виктора Цоя хочется вспомнить именно этот ролик, который представлял собою кино эпохи MTV. #dopingpong#игла#remix#викторцой#моро

GitHub Trends

@githubtrending · Post #15211 · 10.10.2025 г., 11:30

#typescript#cloudflare_kv#cloudflare_pages#cloudflare_workers#drizzle_orm#postgres#remix#tailwindcss#typescript#vite Supermemory lets you easily save and organize information from websites, PDFs, text, and apps like Google Drive or Notion. You can then chat with your saved memories in natural language to quickly find what you need. It connects with popular AI tools, automatically updates your data, and creates smart knowledge graphs to help you remember and use your information better. This saves you time and effort by keeping all your important content in one place and making it easy to access and search whenever you want. It’s like having a personal assistant for your digital memory. https://github.com/supermemoryai/supermemory

跑跑資訊站 KartInfo

@KartInfoTW · Post #416 · 17.08.2022 г., 11:01

韓服跑跑 18 周年啦,本周推出各式慶祝活動還有一日限定 ShowTime、每日限定道具,金拉麵合作開跑,拉麵車、拉麵角色免費送, 還有精靈主題新賽道 2 張以及全新「道具裝備方案系統」、「1 vs. 1 追擊戰」和「隊友聊天熱鍵」等多項系統改革推出! 🔥 更新詳情:https://kinf.cc/Cr825 ▶️ 追蹤 Google 新聞:https://kinf.cc/gn ▶️ 立即加入 Discord:https://kinf.cc/dc #跑跑卡丁車#KartRider#周年#生日#小提琴V1#登入獎勵#ShowTime#HotTime#限定道具#金拉麵#진라면#合作#累積在線獎勵#原味金拉麵V1#辣味金拉麵V1#道具裝備方案#1vs1#追擊戰#模擬模式#系統優化#精靈#新賽道#BGM#Remix#聊天熱鍵