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

Резултати

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

Пребарај: #webview

当前筛选 #webview清除筛选
Android Broadcast

@android_broadcast · Post #9770 · 19.12.2025 г., 06:05

🚀Обновление для WebView с упором на производительность и контроль Вышла версия 1.15.0 библиотеки AndroidX WebKit (WebView). Главное изменение — повышение minSdk с API 21 до API 23 😁 🎯 Ключевые новые возможности: ⚡️ Ускорение загрузки 👉prerenderUrlAsync() — предварительная загрузка (prerender) страниц для мгновенного открытия. 👉Profile.preconnect()— предварительное установление соединения с origin. 👉Profile.addQuicHints() — подсказка WebView использовать протокол QUIC/HTTP3 для ускорения. 🔧 Больше контроля 👉setHyperlinkContextMenuItems() — кастомизация контекстного меню для ссылок. 👉 setBackForwardCacheSettings() — настройка Back/Forward кэша (таймауты, лимиты). 👉Profile.addCustomHeader() — установка кастомных HTTP-заголовков для запросов. 🔒 Безопасность и отладка 👉 Новый WebViewBuilder API для создания WebView с неизменяемой конфигурацией, что повышает безопасность при использовании addJavascriptInterface. 👉 Улучшенные API для отладки асинхронной инициализации WebView. 👉 Также возвращена отправка заголовка X-Requested-With, а старый API для его исключения помечен как deprecated. #WebView#AndroidDev#Jetpack

💎WebView 电视v1.13.3清爽版 开源电视直播 2.5 ♻️资源介绍:给大家介绍一款基于腾讯X5 WebView内核开发的电视直播App。 ⬇️本地下载| 🔵网站下载 ❤️资源指南: 💠主频道|🧑‍💻合作|🤖游戏|👍群聊 🔔标签:#安卓软件#WebView#电视软件

🥰标题:WebView_2.1.1_秒播无卡顿 🌈简介:告别传统直播源困扰,这款永久电视直播软件,直接抓取央视与卫视官方直播网站内容,自动适配大屏呈现,源头稳定无失效风险,给你纯粹的正版直播体验,非常不错. 📃下载地址:在线下载‖蓝秦云盘 😘 标签:#电视#直播#WebView

🥰标题:WebView_1.10.7_秒播无卡顿 🌈简介:永久的电视直播软件,与传统的直播软件相比,这款软件无需采用直播源,直接采集官方央视与卫视直播网站,自动采集并大屏播放. 📃下载地址: 🟢在线下载【无密码】 📃下载地址: 🟢蓝秦云盘【无密码】 😘 标签:#电视#直播#WebView

Android Broadcast

@android_broadcast · Post #9985 · 07.05.2026 г., 11:07

🚀Вышел AndroidX WebKit 1.16.0. Забирай в работу интеграции 👉 minSdk поднят до 24 (Android 7.0) — учитывайте при апгрейде. 👉 Async-старт WebView вышел из experimental. startUpWebView вместе с ProcessGlobalConfig позволяют прогреть WebView в фоне до того как он понадобится UI. Эту штуку давно ждали в стабильной версии — для меня самое ценное обновление этого релиза. 👉 Navigation API тоже стабильный. Больше не надо @OptIn — addNavigationListener даёт колбэки на разных стадиях навигации, ошибку загрузки через Navigation.webResourceError, URL текущей страницы через Page. Главное — теперь FCP и LCP метрики прилетают напрямую из WebView без инъекции JS: // Перед использованием проверь // WebViewFeature.isFeatureSupported(WebViewFeature.NAVIGATION_LISTENER) WebViewCompat.addNavigationListener(webView, object : NavigationListener { override fun onFirstContentfulPaintMillis(page: Page, millisFromNavStart: Long) { analytics.report("FCP", millisFromNavStart, page.url) } override fun onLargestContentfulPaintMillis(page: Page, millisFromNavStart: Long) { analytics.report("LCP", millisFromNavStart, page.url) } override fun onNavigationCompleted(navigation: Navigation) { navigation.webResourceError?.let { err -> Log.w("WV", "load failed: ${err.errorCode}") } } }) На один WebView можно вешать несколько листенеров и прокидывать свой Executor если нужны колбэки в фоновом потоке. 👉WebViewCompat.saveState теперь умеет ограничивать размер state. Если ловили TransactionTooLarge при сохранении состояния — это для вас. 👉 Подвезли addJavaScriptOnEvent для инъекции JS на загрузку документа и инъекцию скриптов в isolated worlds без конфликтов со страницей. Гибридным приложениям пригодится. 👉 [EXPERIMENTAL] BackForwardCacheSettings полностью переписали. Если использовали старый Builder через WebSettingsCompat.setBackForwardCacheSettings — ловите ошибку компиляции при апгрейде. Теперь так: val settings = WebSettingsCompat.getBackForwardCacheSettings(webView.settings) settings.setMaxPagesInCache(5) 👉Profile.setSpeculativeLoadingConfig депрекейтнут, замена через Profile.setMaxPrerenders плюс PrefetchCache.setMaxPrefetches и setPrefetchTtlSeconds (тоже experimental). #Android#Webview#Web#AndroidDev

QQ资源岛-破解软件分享

@QQZYDAPP · Post #4511 · 02.11.2025 г., 15:37

⭐️【资源名称】: WebView 电视开源电视直播 🤖【适用平台】: #Andoid 🔄【应用版本】: 2.0.1 🔩【应用大小】:3MB 🧱【资源介绍】 给大家介绍一款基于腾讯X5 WebView内核开发的电视直播App 🟢清爽版 🟡在线下载:点击下载(无需密码) 📁#安卓软件#WebView#电视软件#tv

QQ资源岛-破解软件分享

@QQZYDAPP · Post #3922 · 01.09.2025 г., 14:09

⭐️【资源名称】: WebView 电视开源电视直播 🤖【适用平台】: #Andoid#TV 🔄【应用版本】: 1.13.1 🔩【应用大小】:2.5MB 🧱【资源介绍】 给大家介绍一款基于腾讯X5 WebView内核开发的电视直播App。 🟢清爽版 🟡在线下载:点击下载(无需密码) 🟡 uc下载:点击下载(无需密码) 🔄迅雷网盘:点击下载(无需密码) ❤️资源指南: 💠子频道|🧑‍💻合作|🤖游戏|👍群聊 ➡️更多分享尽在: @QQZYDAPP 📁#安卓软件#WebView#电视软件

Android Broadcast

@android_broadcast · Post #8847 · 26.03.2025 г., 04:24

🤖Как использовать WebView с Edge-to-edge (EN,6м) Разбор как встроить WebView в интерфейс приложения с поддержкой отображения на весь экран (Edge-to-edge). Рассматриваются варианты когда вы отображаете сторонние сайты и свой web контент, когда вы можете на уровне CSS добавить отступы 🔗Ссылка без VPN #android#edgetoedge#android16#webview#compose

12
ПретходнаСтраница 1 од 2Следна