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

Резултати

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

Пребарај: #apks

当前筛选 #apks清除筛选
油油の科技软件资源分享

@Youyousharechannel · Post #13314 · 24.06.2025 г., 09:47

App Manager .apks/.xapk安装工具 v3.1.6稳定版#apks#xapk#应用安装器#开源 一款功能丰富,开源免费的安卓应用程序管理工具。提供了丰富的信息查询功能,包括应用的活动、广播接收器、服务、提供者、应用操作、权限、签名、共享库等。它还允许用户启动活动和服务。 其次,它还是一款相当好用的.apks,.xapk应用安装器,另外也可以提取本机应用(.apks),再分享给其它用户。 使用教程 要使用此软件安装.apks/.xapk格式的应用程序,安装该软件后,先打开一次该软件并授予权限;再在文件管理找到要安装的.apks/.xapk,点击再在打开方式中选择App Manager 图标的“安装”即可。 https://github.com/MuntashirAkon/AppManager/

五星上将麦克阿象的笔记

@CitizenScyu · Post #1388 · 01.10.2024 г., 20:26

APKMODY 的 XAPKS 安装程序:安装 XAPK、APK 和 OBB 的智能方式 APKMODY 的 XAPKS Installer 是一款智能安装程序。它可以非常快速、轻松地安装 XAPK、APK、OBB 文件。 ✔️ 应用程序安装程序 从内部存储或 SD 卡批量安装 .APK、.XAPK、.APKs、.OBB 文件。 ✔️ 应用程序卸载程序 轻松删除不需要的应用程序。 ✔️ 应用程序备份和恢复 备份功能可以让您轻松快速地备份APK文件和APK。 需要时可以恢复备份的文件 ✔️ 检查应用程序和设备信息 XAPKS 安装程序允许您查看有关应用程序和您的设备的信息。 ⚡️点击下载软件 🥰频道🐘群组😳投稿 #Android#安卓#破解#安装#xapks#apks

GitHub Trends

@githubtrending · Post #15114 · 03.09.2025 г., 07:30

#kotlin#android#apk#apks#dhizuku#installer#root#shizuku InstallerX Revived is a free, open-source Android app installer that replaces your phone’s default installer with a more powerful and customizable one. It supports many file types like apk, apks, xapk, and zip with multiple apps inside. You get features like batch installs, automatic deletion of install files, and options to block certain apps from installing. It works on Android 7 to 16 and offers a modern interface with language support. This installer improves installation speed, fixes bugs, and lets you control installation settings for a smoother, safer app installation experience. It’s community-maintained and respects your privacy. https://github.com/wxxsfxyzm/InstallerX-Revived