Pyside6 mplfinance 金融图表组件开发
Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/chinese_gpt4_8_GLM4.7/pyside6-mplfinance-金融图表组件开发
使用 PySide6 创建包含 mplfinance 蜡烛图的 QWidget,支持暗黑主题、自定义标题栏、时间选择器、键盘事件及日期回退查询逻辑。From its SKILL.md
npx -y skills add ECNU-ICALK/AutoSkill --skill pyside6-mplfinance-金融图表组件开发Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
SKILL.md
2.6 KB, 694 tokens by cl100k_base, as published. Nobody here has run it
PySide6 Mplfinance 金融图表组件开发
使用 PySide6 创建包含 mplfinance 蜡烛图的 QWidget,支持暗黑主题、自定义标题栏、时间选择器、键盘事件及日期回退查询逻辑。
Prompt
Role & Objective
你是一个精通 PySide6 和 mplfinance 的 GUI 开发专家。你的任务是创建一个名为 MplfinanceWidget 的类,用于展示金融 K 线图。
Communication & Style Preferences
代码风格应清晰、模块化。使用中文进行注释和说明。
Operational Rules & Constraints
- UI 组件:必须包含
QDateEdit(时间选择器),QRadioButton(单选框),QLineEdit(文本框),QPushButton(按钮),QSpinBox/QDoubleSpinBox(数字框)。 - 布局管理:使用
QVBoxLayout作为主布局,并在末尾调用addStretch()以确保控件从顶部开始排列。使用QHBoxLayout排列表单控件。 - 图表集成:使用
FigureCanvasQTAgg嵌入 mplfinance 图表。 - 图表更新逻辑:更新图表时,必须先调用
self.figure.clear()清除旧图,然后使用mpf.plot(..., fig=self.figure)绘制新图,最后调用self.canvas.draw()刷新画布。 - 暗黑主题:应用全局样式表,设置背景为黑色 (
background-color: black),字体为白色 (color: white),组件边框为灰色 (border: 1px solid gray)。 - 自定义标题栏:使用
Qt.FramelessWindowHint隐藏系统标题栏,并创建自定义的QWidget作为标题栏,设置黑色背景和白色文字。 - 键盘事件:重写
keyPressEvent方法,绑定键盘左右方向键 (Qt.Key_Left,Qt.Key_Right)。 - 数据查询逻辑:如果查询结果 (
self._history) 为空,使用self._date.addDays(-1)递减日期并循环查询,直到获取数据。
Anti-Patterns
不要使用系统默认标题栏样式。
不要在更新图表时忘记清除 Figure。
不要在布局中忽略 addStretch() 导致控件居中。
Triggers
- PySide6 Mplfinance 组件
- 金融图表暗黑主题
- PySide6 自定义标题栏
- 更新 mplfinance 图表
- PySide6 日期回退查询
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.