プログラミング

kivy戦記(9-4) サイズ問題再発

この記事は約4分で読めます。
(2018-10-4追記)
ここで、kvファイル上のOpeSCNとResultSCNは、AllSCNの子として作って失敗して、この項で打開策というか、逃げの手段でそういう作り方をやめていますが、そののちkivy戦記(19-3) class間の受け渡しでドツボにはまる 以降で成功していますので、こういう使い方をするときは、そちらの方を参照してください。

どうも、今までの作り方が悪いので、、

OpeSCNと、ResultSCNという名前の領域をとりあえず消してみた。
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.properties import StringProperty
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 AllSCN(Widget):
    txt = ObjectProperty(None)
    def __init__(self, **kwargs):
         super(AllSCN, self).__init__(**kwargs)
         self.txt.text = 'うふふふふふふふ'
class FilelistApp(App):
    def build(self):
        return AllSCN()
if __name__ == '__main__':
    FilelistApp().run()

filelist.kv


<AllSCN>:
    txt: txt
    BoxLayout: #OpnSCN
        size: root.size
        size_hint_y: 0.1
        pos: root.pos
        BoxLayout:
            TextInput:
                size_hint_x: 0.8
                text: 'ファイルパス'
            Button:
                size_hint_x: 0.1
                text: '…'
            Button:
                size_hint_x: 0.1
                text: '実行'
    BoxLayout: #ResultSCN
        size: root.size
        size_hint_y: 0.9
        pos: root.pos
        Label:
            id: txt
            text: 'れれれれれれ'
AllSCN:

この実行結果は、、、

OpeSCNとしたところと、ResultSCNとしたところのサイズがおかしい。
一方、中央にうっすら「うふふふふ」があるので、ObjectProperty(None)は正常にいっているようだ。
つまり、サイズだけがおかしくなっている。
filelist.kvをこうしよう。


<AllSCN>:
    txt: txt
    size: root.size
    pos: root.pos
    BoxLayout: #OpnSCN
        size_hint_y: 0.1
        TextInput:
            size_hint_x: 0.8
            text: 'ファイルパス'
        Button:
            size_hint_x: 0.1
            text: '…'
        Button:
            size_hint_x: 0.1
            text: '実行'
    BoxLayout: #ResultSCN
        size_hint_y: 0.9
        Label:
            id: txt
            text: 'れれれれれれ'
AllSCN:

しかしこの結果が、

なんじゃなんじゃ。
今までごまかしてきたサイズの問題が、再発してしまったようだ。
さてどうするか?(続く)

タイトルとURLをコピーしました