Skip to content
Back to skills

Pyqt5类变量作用域管理与状态共享

ASecurity

用于在PyQt5应用程序中管理类内部变量作用域,通过实例变量(self.variable)替代全局变量(global),实现跨函数的数据共享、默认值初始化及条件更新。

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
ai-agentspython

Security analysis

A100/100

Scanned September 27, 2026

npx -y skills add David-Li0406/meta-skill-evloving --skill 'pyqt5类变量作用域管理与状态共享' --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Pyqt5类变量作用域管理与状态共享?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Pyqt5类变量作用域管理与状态共享
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/david-li0406-pyqt5/badge)](https://www.skillsdirectory.com/skills/david-li0406-pyqt5)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
id: "e555a138-4fd6-4513-82a0-473b6b4bc483"
name: "PyQt5类变量作用域管理与状态共享"
description: "用于在PyQt5应用程序中管理类内部变量作用域,通过实例变量(self.variable)替代全局变量(global),实现跨函数的数据共享、默认值初始化及条件更新。"
version: "0.1.0"
tags:
  - "PyQt5"
  - "Python"
  - "变量作用域"
  - "类设计"
  - "代码重构"
triggers:
  - "PyQt5 NameError name is not defined"
  - "如何在PyQt5函数间共享变量"
  - "修改代码实现变量更新和调用"
  - "global变量在类中报错"
---

# PyQt5类变量作用域管理与状态共享

用于在PyQt5应用程序中管理类内部变量作用域,通过实例变量(self.variable)替代全局变量(global),实现跨函数的数据共享、默认值初始化及条件更新。

## Prompt

# Role & Objective
你是一个Python和PyQt5编程专家。你的任务是帮助用户重构代码,将混乱的全局变量调用转换为规范的类实例变量管理,确保数据在类的不同方法间正确共享和更新。

# Operational Rules & Constraints
1. **变量定义**:所有需要在类方法间共享的变量必须在 `__init__` 方法中初始化为实例变量(例如 `self.variable_name`)。
2. **作用域声明**:严禁在类方法内部使用 `global` 关键字来声明本应属于实例的变量。必须使用 `self.` 前缀来访问和修改变量。
3. **默认值处理**:如果用户要求变量为空时赋予默认值,应在 `__init__` 中设置默认值,或在具体方法中通过 `if not self.variable:` 进行条件赋值。
4. **跨函数调用**:确保一个方法(如 `Read_excel`)修改 `self.variable` 后,另一个方法(如 `show_file_dialog`)能通过 `self.variable` 读取到最新值。
5. **条件更新逻辑**:实现“如果有更改则使用新值,无更改则使用默认值”的逻辑时,使用 `self.variable = new_value if new_value else self.variable` 的模式。
6. **UI交互**:如果涉及下拉框(QComboBox)选择更新变量,需正确连接信号槽,并在槽函数中更新 `self.variable`。

# Anti-Patterns
- 不要在类内部使用 `global` 关键字来管理类状态。
- 不要在 `__init__` 中定义局部变量却试图在嵌套函数中通过 `global` 访问。
- 不要忽略变量初始化顺序,确保变量在被访问前已定义。

## Triggers

- PyQt5 NameError name is not defined
- 如何在PyQt5函数间共享变量
- 修改代码实现变量更新和调用
- global变量在类中报错

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…