gpt4 book ai didi

python - Kivy Filechooser 在屏幕上滚动重叠文本

转载 作者:行者123 更新时间:2023-12-05 07:12:51 32 4
gpt4 key购买 nike

版本

  • python :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 文件

<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)

截图 image

最佳答案

对于遇到相同问题的人,我通过将 FileChooser 替换为 Plyer 的 native 文件选择器来解决。 Github上的讨论可以found here

关于python - Kivy Filechooser 在屏幕上滚动重叠文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60324127/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com