2017-09-29 10 views
0

現在、ラズベリーパイ動力付きドアベルを開発中です。 GPIOを実際のドアベルとして接続した物理的なボタンを使用しています。これが押されたとき、私はなど、その後さまざまなオプションが表示されます、私が作ったkivyアプリを開始したいとの関数を呼び出すことができますラズベリーパイを使用して物理的なボタンを押したときにkivyアプリを読み込む方法

while True: 
    print ("Please Press Door Bell to Begin") 
    if GPIO.wait_for_edge(23, GPIO.FALLING): 
     introduction() 

導入()が呼び出されているkivyビルドクラスです:

class introduction(App): 
    def build(self): 
     return InitialMenu() 

これは明らかに、コンソールから分かるようにクラスはスタート時に実行されるように行くための正しい方法ではありません。

INFO ] [Logger  ] Record log in /home/pi/.kivy/logs/kivy_17-09-29_28.txt 
[INFO ] [Kivy  ] v1.10.1.dev0, git-1e6c9e8, 20170927 
[INFO ] [Python  ] v2.7.9 (default, Sep 17 2016, 20:26:04) 
[GCC 4.9.2] 
[INFO ] [Factory  ] 194 symbols loaded 
[INFO ] [Image  ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored) 
[INFO ] [Text  ] Provider: sdl2 
Please Press Door Bell to Begin 

誰もが任意のアイデアや回避策を持っている場合、私は思っていましたこれを実行しようとすることができますか、または私が何かを忘れてしまった場合。私はKivyアプリを最初に走らせて走らせておくのが最終的な選択肢かもしれないと感じていますが、これを避けようとしています。

多くのありがとうございます。

答えて

0

ログラインは、アプリを実行するのではなく、Kivy関連のインポートによってトリガーされます。 introduction().run():あなたはそのrunメソッドを呼び出す必要があることを行うためにため

はあなたの例では、実際には、アプリケーションのクラスを実行することはありません。

+0

それは非常に問題になるでしょう、非常にInclementありがとうございます。 –

関連する問題