@missPecos · Post #1864 · 08.12.2025 г., 23:07
💎 JetBrains PyCharm 2025 v2025.2.5.0激活正式版 1m ♻️资源介绍:JetBrains PyCharm 是由 JetBrains 公司开发的一款专为 Python 开发者设计的集成开发环境(IDE) ⬇️本地下载 🔔标签:#电脑软件#JetBrains#PyCharm
Hashtags
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
Пребарај: #pycharm
@missPecos · Post #1864 · 08.12.2025 г., 23:07
💎 JetBrains PyCharm 2025 v2025.2.5.0激活正式版 1m ♻️资源介绍:JetBrains PyCharm 是由 JetBrains 公司开发的一款专为 Python 开发者设计的集成开发环境(IDE) ⬇️本地下载 🔔标签:#电脑软件#JetBrains#PyCharm
Hashtags
@QQZYDAPP · Post #4757 · 08.12.2025 г., 22:58
⭐️【资源名称】:JetBrains PyCharm 2025 v2025.2.5.01m 🤖【适用平台】: #Windows 🧱【资源介绍】 JetBrains PyCharm 是由 JetBrains 公司开发的一款专为 Python 开发者设计的集成开发环境(IDE) 🟢激活正式版 🟡在线下载:点击下载(无需密码) 📁#电脑软件#JetBrains#PyCharm
Hashtags
@githubtrending · Post #14833 · 17.06.2025 г., 11:30
#typescript#ai#chatgpt#copilot#developer_tools#intellij#jetbrains#llm#open_source#openai#pycharm#software_development#visual_studio_code#vscode Continue is a tool that helps developers create and use custom AI assistants for coding. It integrates with popular coding tools like VS Code and JetBrains, offering features like code autocompletion, chat for understanding code, and editing capabilities. This makes coding faster and more efficient, reducing errors and improving software reliability. Users can tailor these AI assistants to their specific needs, making it easier to work with complex codebases and improve overall productivity. https://github.com/continuedev/continue