2017-03-03 6 views
0

私はクロスプラットフォームテストをいくつか試みようとしています。ここでは、Windows用の作業コードは次のとおりです。Windowsでは動作しますが、Linux環境では空白の画面が表示されます

main.py

#!/usr/bin/kivy 
import kivy 
kivy.require('1.0.6') 

from kivy.app import App 
from kivy.uix.boxlayout import BoxLayout 
from kivy.lang import Builder 

class MatrixCalcLayout(BoxLayout): 
    pass 

class ConfusionMatrixCalc_v3App(App): 
    def build(self): 
     return MatrixCalcLayout() 

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

ConfusionMatrixCalc_v3.kv

#:kivy 1.0 
#:import kivy kivy 

<MatrixCalcLayout>: 
    orientation: 'vertical' 
    BoxLayout: 
     Button: 
    BoxLayout: 
     Button: 
    BoxLayout: 
     Button: 

私はUbuntuの上でそれを実行しようとすると、それはアップロードしkivyキャンバスを示していあたかも.kvファイルにリンクしていないかのような空白の(黒い)画面です。

編集:.kvファイル名を修正し

答えて

1

にアプリのクラス名を変更しますkivy docs

KivyはKvファイルを探します小文字でアプリのクラスと同じ名前を持つ、マイナス「アプリケーション」、それが「アプリケーション」などで終わる場合:

あなたはconfusionmatrixcalc_v3.kvに.kvファイルを変更することができたりrun()

if __name__=='__main__': 
    ConfusionMatrixCalc_v3App(kv_file="ConfusionMatrixCalc.kv").run() 
を呼び出すときに、明示的にそれを提供
+0

ありがとう、私の謝罪は、kvのファイル名は確かにConfusionMatrixCalc_v3、私のオリジナルの投稿の命名は、誤植だった。それはまだLinux上で動作しません。 – KubiK888

+0

私はlinuxを使っていて、.kvファイルを 'confusionmatrixcalc_v3.kv'に変更しています(それはすべて小文字です)。 .kvファイルは.pyファイルと同じフォルダにありますか?また、スクリプトをどのように実行していますか? – ODiogoSilva

+0

これで動作します。ありがとう。 – KubiK888

1

あなたがeiterに必要BuilderでKVファイルをロードしますによると

Builder.load_file("ConfusionMatrixCalc.kv") 

それともConfusionMatrixCalc_v3AppからConfusionMatrixCalcApp

+0

私の謝罪、私の.kvファイル名は実際には "ConfusionMatrixCalc_v3.kv"です。私は元の投稿から命名を修正しました。問題は依然として残っています.Windowsで動作し、Linuxでは動作しません。 – KubiK888

+0

私はload_fileメソッドを試してみましたが、それはLinux上で動作するようになっていますが、buildozerを.apkにコンパイルしてからブレークします。だから私はload_fileメソッドなしでそれをやろうとしている。 – KubiK888

関連する問題