@voir_yeux · Post #11560 · 31.01.2026 г., 11:41
🇺🇸 Une manifestation contre les actions du service de l’immigration se déroule à Los Angeles #manifestation#immigration#actions
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
Пребарај: #actions
@voir_yeux · Post #11560 · 31.01.2026 г., 11:41
🇺🇸 Une manifestation contre les actions du service de l’immigration se déroule à Los Angeles #manifestation#immigration#actions
@kejiqu · Post #3685 · 06.08.2025 г., 01:46
新 AI 编程伙伴:Gemini CLI GitHub Actions 谷歌推出了 Gemini CLI GitHub Actions,这是一个免费的 AI 编程工具,用于 GitHub 代码库。 该工具可在代码库中执行安全扫描、测试,并提供补丁建议。 Gemini CLI GitHub Actions 旨在作为关键流程的自主代理,旨在提高开发效率。该工具不收取任何费用。The Keyword 🏷#Gemini#CLI#GitHub#Actions#AI#编程 📢频道👥群组📝投稿
@githubtrending · Post #15481 · 09.02.2026 г., 11:30
#go#actions#cai#ci#claude_code#codex#copilot#gh_extension#github_actions GitHub Agentic Workflows let you write simple markdown instructions in natural language to automate repo tasks like triaging issues, fixing CI failures, generating reports, and improving code—running safely as GitHub Actions with AI like Copilot or Claude. Strong guardrails ensure read-only access by default, sandboxed execution, and human-reviewed outputs via pull requests. This saves you time on repetitive work, boosts efficiency with adaptive AI decisions, and keeps everything secure without complex YAML coding. https://github.com/github/gh-aw
@githubtrending · Post #15174 · 27.09.2025 г., 13:00
#typescript#actions#authentication#gcp#github_actions#google_cloud#google_cloud_platform#iam#identity#security You can securely connect GitHub Actions to Google Cloud using the Google GitHub Action called `auth`. It supports two main ways: the recommended Workload Identity Federation (WIF), which uses short-lived tokens and avoids long-lived service account keys, and the older Service Account Key JSON method. WIF improves security by creating a trust link between your GitHub workflow and Google Cloud without exposing permanent credentials. To use it, you set up a Workload Identity Pool and Provider in Google Cloud, then configure your GitHub workflow to authenticate with these. This lets your workflows access Google Cloud resources safely and easily, reducing risks and simplifying credential management. https://github.com/google-github-actions/auth