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

Резултати

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

Пребарај: #widgets

当前筛选 #widgets清除筛选
HiShoot2i Templates

@hishoot2imaterial · Post #2599 · 12.05.2025 г., 15:29

⚡️ Giveaway Time! 🎁 🚀 We're giving away 25 promo codes for Photo Widget Pro25 lucky winners will be chosen in 24 hours. Eligibility: - You must be a member of: ~ @AppsLab_Co ~ @popMODS ~ @popmodschat - How to redeem codes? - Click here Notes and warns: - Please don't forget to rate and comment the app(s) after you redeemed. - You have 24 hours to get your code from the bot, later then, you won't get your code even if you won. - Anyone who joins only for the giveaway and leaves the channel immediately after the giveaway is over will be banned indefinitely. It does not matter when you leave. 🏷 Tags: #Android#Widgets#Giveaway

Nothing Phone (2) | Updates

@NothingPhone2Updates · Post #602 · 26.04.2025 г., 18:31

Widgets Pro- Nothing inspired Widgets ✍️ Details: - Version: 1.1.8 ⬇️ Download : Here 📔 Source : Here 📸 Screenshots : Here 👨‍💻 Support Group : Here ✍️ Note: - Minimum sdk is 14. - If you are unable to give necessary permissions, go app info > 3 dot menu & allow restricted access from there. 😎 Developer : @tpk53 | @RedSkulxHYDRA 💬 Community: @Nothing_Archive 🔖 Tags : #CommunityProject#App#Widgets#Nothing

Venture Village Wall 🦄

@venturevillagewall · Post #4339 · 08.03.2025 г., 13:00

Top 5 Insights from Trendoscope Lab 1️⃣ a16z's new report reveals top B2C AI apps by traffic differ from revenue leaders like photo and video editors. Read more 2️⃣ Google launches AI Mode with Gemini, initially for Google One subscribers, enhancing AI SEO relevance. Details here 3️⃣ Short drama apps surge with 221% annual growth in downloads, affecting traditional streamers like Netflix and Disney+ that declined by 35%. Insight found here 4️⃣ Google and Meta enable developers to access cameras on XR devices, easing previous privacy restrictions. More info and here 5️⃣ Google enhances Android widget visibility with new filters and dedicated pages. Learn more #AI#Google#Tech#Streaming#XR#Investments#B2C#Apps#VideoEditing#Photos#Dramas#SEO#Privacy#Android#Widgets#Investing#VC#a16z#Trends#Innovation

GitHub Trends

@githubtrending · Post #15204 · 08.10.2025 г., 11:30

#java#cloud#coap#dashboard#iot#iot_analytics#iot_platform#iot_solutions#java#kafka#lwm2m#microservices#middleware#mqtt#netty#platform#snmp#thingsboard#visualization#websockets#widgets ThingsBoard is an open-source IoT platform that helps manage and analyze data from connected devices. It allows users to collect data, create real-time dashboards, and automate tasks using a powerful rule engine. This platform supports various protocols like MQTT and HTTP, making it easy to connect devices. Users can also define relationships between devices and assets, and trigger alarms based on specific conditions. The benefit is that it simplifies IoT project development, making it scalable and efficient for applications like smart farming, smart offices, and more. https://github.com/thingsboard/thingsboard