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

Резултати

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

Пребарај: #bun

当前筛选 #bun清除筛选
Yummy 😋

@godlynews1 · Post #14285 · 03.12.2025 г., 09:25

Anthropic收购bunjavascript,以进一步加速 Claude Code 的增长。 https://x.com/bunjavascript/status/1995916660847640934 https://x.com/anthropicai/status/1995916269153906915 🗒 标签: #Anthropic#Claude#Bun 📢 频道: @GodlyNews1 🤖 投稿: @GodlyNewsBot

NS严选 | NodeSelect

@nodeselect · Post #763 · 03.12.2025 г., 10:20

Anthropic收购bunjavascript,以进一步加速 Claude Code 的增长。 https://x.com/bunjavascript/status/1995916660847640934 https://x.com/anthropicai/status/1995916269153906915 🗒 标签: #Anthropic#Claude#Bun 📢 频道: @GodlyNews1 🤖 投稿: @GodlyNewsBot

GitHub Trends

@githubtrending · Post #14981 · 21.07.2025 г., 11:30

#typescript#bun#conversion#convert#converter#document_conversion#elysia#file_conversion#file_converter#hacktoberfest#pdf_converter#self_hosted#tailwindcss#typescript ConvertX is a self-hosted online file converter that supports over a thousand file formats, including images, videos, documents, e-books, and 3D assets. It lets you convert multiple files at once, offers password protection, and supports multiple user accounts for privacy. You can run it easily using Docker, making it simple to set up on your own server. This means your files stay private since conversions happen locally without sending data to external servers. It uses powerful open-source tools like FFmpeg and ImageMagick, giving you a versatile and secure way to handle all your file conversion needs in one place[1][2]. https://github.com/C4illin/ConvertX

ХАНОЙ-МОСКВА

@hanoimoscow · Post #8619 · 29.01.2026 г., 08:23

Дуй Вит Ныонг — это легендарные вьетнамские утиные🍗 ножки на гриле: хрустящая карамелизованная корочка, сочное мясо и яркий аромат пряностей. Маринуют утку в рыбном🐟 соусе, чесноке, имбире, лемонграссе🌿, меде и щепотке «пяти специй», а затем запекают/жарят до румяного блеска. Подают с картофелем фри и свежими овощами — получается идеально сбалансировано: сладко‑солено, кисло и пряно. Попробуйте Дуй Вит Ныонг в кафе «Net Hue» — и он станет вашим фаворитом в азиатском меню! ✅Где: ТЦ «Ханой-Москва», 2 этаж *Информационный пост, не является рекламой #ханоймосква#hanoimoscow#тцханоймосква#тц#торговыйцентр#фудкорт#азиатскаякухня#вьетнамскаякухня#вьетнам#азиатскийфудкор#вьетнамскаякухня#вкусноиполезно#стритфуд#азиатскаяеда#вкусноиполезно#вьетнамскаякухня#дуйвитныонг#утиныеножки#bun#nuoccham#азиятедома