You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kivy中ScrollView子部件不显示问题求助

问题解决:右侧ScrollView始终空白的原因及修复

你的代码核心问题在于调用display_info时使用了新的App实例,而非当前运行的实例:

在SelectableLabel的apply_selection方法中,你写了:

MyApp().display_info(self.data)

这行代码会创建一个全新的MyApp对象,调用它的display_info方法时,修改的是这个新对象的info_layout,而不是界面上实际显示的那个info_layout,所以右侧区域始终空白。

修复步骤

只需要将这行代码替换为获取当前运行的App实例即可:

# 确保顶部已导入App(你的代码已经导入,无需新增)
from kivy.app import App

# 修改SelectableLabel类的apply_selection方法:
def apply_selection(self, rv, index, is_selected):
    self.selected = is_selected
    if is_selected:
        App.get_running_app().display_info(self.data)

验证效果

修改后运行代码,点击左侧的任意单词,右侧ScrollView区域会正确显示对应的单词信息,print(data)的输出也会和界面展示完全对应。

额外说明

  • 你的info_layout初始化和添加到ScrollView的逻辑是正确的,问题仅在于App实例的错误引用
  • 后续扩展功能时,建议通过App.get_running_app()获取全局实例,避免重复创建新实例导致的状态不一致

内容的提问来源于stack exchange,提问作者路阿兰

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 09:09:58