PythonライブラリであるKivyを使用していますが、スクロールビューを機能させて、それを.kvファイルに整理するのに問題があります。
私は多くの.pyファイルと.kvファイルに分割された大きなシステムを持っています。
私もkivyのスクリーンマネージャーを使用しています
ui_manager.py
#ui_manager.py
class UIManager():
_ScreenManager = None
def __init__(self, inScreenManager):
self.ScreenManager = inScreenManager # The main app constructs the manager, sends to me, then returns it as the root widget.
main.py
#main.py
class MyApp(App):
def build(self):
screenManager = ScreenManager()
uiManager = ui_manager.UIManager(screenManager)
return screenManager
明らかに私は少しのコードを省略しました、しかしこれはほとんど正確に起こることです。
画面の1つをスクロールする必要があります。長いグラフィックと多くのボタンがあります。いつものように、Kivyのドキュメントは、kivy言語(.kvファイル)ではなく、コードを介してそれを行う方法を教えてくれます http://kivy.org/docs/api-kivy.uix.scrollview.html
スクロールウィジェットを保持するクラスOrangeWidgetが必要なので、後でそのデータを操作できます。整理されたスクロールビューを機能させるための最善の試みは次のとおりです
orange_widget.py
#orange_widget.py
class OrangeWidget(Screen):
pass
class OrangeGraphic(Widget):
pass
Orange.kv
<OrangeLineWidget>
ScrollView:
size_hint: (None, None)
size: (400, 1200)
OrangeLineGraphic:
pos: root.pos
<OrangeGraphic>
canvas:
Color:
rgba: 1, .5, 0, 1
Rectangle:
pos: self.center_x - 15, 0
size: 30, self.height * 2
Label:
text: "Hello"
私はそれがたくさんあることを知っています、そしてそれはまだうまく整理されていないように見えます、しかし私はただダングなものを正しく機能させる方法を理解しようとしています。
現在の結果は次のとおりです。スクロールせず、何らかの理由で、全画面表示ではなく、右に「ボックス化」されています。