|
发表于 2025-1-12 21:12:19
|
显示全部楼层
本楼为最佳答案
要解决在点击股票名字时更新 `ChildWindowK` 中的绘图的问题,你可以使用信号和槽机制来在点击股票名称时发射信号,从而更新 `ChildWindowK` 的显示。具体来说,请确保在 `MySekect` 类中发射信号,然后在 `MainWindowA` 类中捕获该信号并触发 `ChildWindowK` 中的更新。
以下是一个可能的解决方案步骤:
1. **在 `MySekect` 中定义信号**:在 `MySekect` 类中创建一个新的信号,如 `code_selected`,用于在选择股票时发射信号。
2. **在股票列表项点击时发射信号**:在 `update_swift` 方法中发射该信号,并将股票代码作为参数传递。
3. **在 `MainWindowA` 中处理信号**:在 `MainWindowA` 类中,将 `MySekect` 的信号连接到一个新的槽函数,该函数用于更新 `ChildWindowK` 中的数据显示。
以下是代码的修改示例:
- class MySekect(QDialog): # 我的自选弹出窗口
- # 添加信号
- code_selected = Signal(str)
- def __init__(self, parent=None):
- super(MySekect, self).__init__(parent)
- # 初始化其他代码
- self.initUI()
- def update_swift(self, code):
- self.code = code.text()
- self.swift()
- self.width_height_swift()
- # 发射信号
- self.code_selected.emit(self.code)
- class MainWindowA(QMainWindow):
- def __init__(self, parent=None):
- super().__init__(parent)
- # 初始化其他代码
- # 连接信号到槽函数
- self.MySekect.code_selected.connect(self.update_child_window_k)
- def update_child_window_k(self, code):
- # 这里是更新 ChildWindowK 的代码
- self.ChildWindowK.js_mysekect(code)
复制代码
请根据具体情况调整代码的逻辑和传递的参数,通过信号和槽机制确保子窗口在股票代码选择时能够及时更新。这样可以从 `MySekect` 中传递更新信息到 `ChildWindowK`,从而重绘界面。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|