Kivy 文件选择器在屏幕滚动上重叠文本

2024-04-08

Versions

  • 蟒蛇:3.7
  • 操作系统:Windows 10
  • 基维:1.11.1
  • Kivy安装方法:pip

描述

FileChooser 在滚动文件列表时重叠文本。看起来第一个内容仍然存在,并且滚动时滚动数据的内容显示在第一个内容的顶部。

代码和日志


from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.screenmanager import Screen, ScreenManager
from kivy.uix.popup import Popup
from kivy.properties import ObjectProperty, BoundedNumericProperty, StringProperty
from kivy.lang import Builder

class FirstWindow(Screen):
    def show_load(self):
        content = LoadDialog(load=self.load, cancel=self.dismiss_popup)
        self._popup = Popup(title="Load file", content=content,
                            size_hint=(0.9, 0.9))
        self._popup.open()

    def dismiss_popup(self):
        self._popup.dismiss()

    def cancel(self):
        pass

    def load(path, selection):
        print(path, selection)

class LoadDialog(FloatLayout):
    load = ObjectProperty(None)
    cancel = ObjectProperty(None)

class EditorApp(App):
    def build(self):
        kv = Builder.load_file("editor.kv")
        self.screen_manager = ScreenManager()

        screen = FirstWindow(name="first")
        self.screen_manager.add_widget(screen)
        self.screen_manager.current = "first"

        return self.screen_manager

if __name__ == "__main__":
    editor_app = EditorApp()
    editor_app.run()

KV File

<FirstWindow>:
  BoxLayout:
    orientation: "vertical"
    Button:
      text: "Select Folder"
      on_release: root.show_load()

<LoadDialog>:
  BoxLayout:
    size: root.size
    pos: root.pos
    orientation: "vertical"
    FileChooserListView:
      id: filechooser

    BoxLayout:
      size_hint_y: None
      height: 30
      Button:
        text: "Cancel"
        on_release: root.cancel()

      Button:
        text: "Load"
        on_release: root.load(filechooser.path, filechooser.selection)

Screenshots image


对于面临同样问题的人,我通过将 FileChooser 替换为 Plyer 的本机文件选择器来解决。 Github 上的讨论可以是在这里找到 https://github.com/kivy/kivy/issues/6742

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kivy 文件选择器在屏幕滚动上重叠文本 的相关文章

随机推荐