前回のエラー結果より、python側にOpeSCNのclassの宣言がないことが原因なので、入れてみる。

filelist.py


from kivy.uix.screenmanager import Screen
from kivy.app import App
from kivy.lang import Builder
from kivy.core.window import Window
from kivy.uix.widget import Widget
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.popup import Popup
from kivy.uix.treeview import TreeView, TreeViewLabel, TreeViewNode
from kivy.uix.label import Label
from kivy.properties import ObjectProperty

from kivy.core.text import LabelBase, DEFAULT_FONT
from kivy.resources import resource_add_path

# 日本語フォント設定
resource_add_path('./fonts')
LabelBase.register(DEFAULT_FONT, 'ipaexg.ttf')



class OpeSCN(Widget):
    pass

class AllSCN(Widget):
    pass

class FilelistApp(App):
    def build(self):
        return AllSCN()


if __name__ == '__main__':
    FilelistApp().run()

filelist.kv


<AllSCN>:
    BoxLayout:
        size: root.size


<OpeSCN>:
    BoxLayout:
        Label:
            text: 'aaaa'
            canvas.before:
                Color:
                    rgba: 0,.5,0,1
                Rectangle:
                    pos: self.pos
                    size: self.size




AllSCN:
    OpeSCN:

これで実行すると、再び黒い画面が。

今までの経緯からして、kvファイルのOpeSCNの部分を変更したら良くなるはずだ。

こうして、OpeSCN:を<AllSCN>:の下に移動させた。


<AllSCN>:
    BoxLayout:
        size: root.size
    OpeSCN:


<OpeSCN>:
    BoxLayout:
        Label:
            text: 'aaaa'
            canvas.before:
                Color:
                    rgba: 0,.5,0,1
                Rectangle:
                    pos: self.pos
                    size: self.size




AllSCN:

これで実行すると、

なんか凄いデジャブがあるな。

そこで、AllSCNの背景を青くしてみた。


<AllSCN>:
    BoxLayout:
        size: root.size
        canvas.before:
            Color:
                rgba: 0,0,.5,1
            Rectangle:
                pos: self.pos
                size: self.size
        OpeSCN:

<OpeSCN>:
    BoxLayout:
        Label:
            text: 'aaaa'
            canvas.before:
                Color:
                    rgba: 0,.5,0,1
                Rectangle:
                    pos: self.pos
                    size: self.size

AllSCN:




そこで、OpeSCNの画面を広げてみた。


<AllSCN>:
    BoxLayout:
        size: root.size
        canvas.before:
            Color:
                rgba: 0,0,.5,1
            Rectangle:
                pos: self.pos
                size: self.size
        OpeSCN:

<OpeSCN>:
    BoxLayout:
        size: root.size
        Label:
            text: 'aaaa'
            canvas.before:
                Color:
                    rgba: 0,.5,0,1
                Rectangle:
                    pos: self.pos
                    size: self.size

AllSCN:

これでOpeSCNについては、ほぼ解決したと思われる。