2017-06-16 3 views
1

bin immer noch ein Begginer mit Kivy, wenn ich meine Kivy App auf Windows starte ich bekomme eine schwarze Winodw und das Fenster passt den ganzen Laptop-Bildschirm. Wie kann ich das beheben und wie kann ich das Fenster verkleinern?bekommen schwarzen Bildschirm auf Windows, wenn Laucnh meine kivy App

meine Python-Code

# File name FaceRecognition.py 
import kivy 

from kivy.app import App 
from kivy.uix.floatlayout import FloatLayout 
from kivy.uix.screenmanager import ScreenManager, Screen 
from kivy.uix.button import Button 
from kivy.uix.widget import Widget 
from kivy.uix.label import Label 
from kivy.lang import Builder 

# Define each screen 

class ScreenOne(Screen): 
    pass 

class ScreenTwo(Screen): 
    pass 

class ScreenManagement(ScreenManager): 
    pass 


Builder.load_file("facerecognition.kv") 

class FaceRecognitionApp(App): 
    def build(self): 
     return ScreenManagement() 

if __name__=="__main__": 
    FaceRecognitionApp().run() 

meine kv Datei

# File name FaceRecognition.kv 
#: kivy 1.9.1 


ScreenManagement: 
    id: screen_management 
    ScreenOne: 
    ScreenTwo: 


<[email protected]>: 

    color: .8,.9,0,1 # yellow color 
    font_size: 32 # font size 
    size_hint: .2,.1 

<ScreenOne>: 
    name: "screen1" 
    id: screen_one 

    FloatLayout: 

     Label: 
      text:"Hello\n Welcome to my App\n" 
      font_size:40 
      color: 0,0,0,1 
     MyButton: 
      text: 'Next' 
      pos_hint:{'right':1, 'y':0} 
      on_press:root.manager.current="screen2" 

<ScreenOne>: 
    name: "screen2" 
    id: screen_two 

    FloatLayout: 

     Label: 
      text:"Please insert your Name\n Please insert your Password\n" 
      font_size:40 
      color: 0,0,0,1 
     MyButton: 
      text: 'Next' 
      pos_hint:{'right':1, 'y':0} 
      on_press:root.manager.current="screen1" 

Antwort

0
  • allererst Sie <ScreenOne> zweimal in der kv-Datei definieren, sollte zweite <ScreenTwo> sein
  • Sie definieren ein Root-Widget, indem es es in Ihrer Build-Methode zurückgibt. Sie definieren es auch in Ihrer kv-Datei, indem Sie <> nicht darum herum setzen. Sie müssen eine Definition loswerden. Ich steckte es einfach in <> in der kv-Datei.
  • Ihre Etikettenfarbe ist schwarz, daher schwarz auf schwarz, Sie werden nichts sehen. Ich änderte es in weiß color: 1,1,1,1
  • das Fenster füllt nicht den ganzen Bildschirm auf meinem Laptop. Ich denke, das ist kein Code-Problem.

Hier ist die kv-Datei mit allen Änderungen, die ich in der Liste erwähnt. Es funktioniert auf meinem PC.

# File name FaceRecognition.kv 
#: kivy 1.9.1 


<ScreenManagement>: 
    id: screen_management 
    ScreenOne: 
    ScreenTwo: 


<[email protected]>: 

    color: .8,.9,0,1 # yellow color 
    font_size: 32 # font size 
    size_hint: .2,.1 

<ScreenOne>: 
    name: "screen1" 
    id: screen_one 

    FloatLayout: 

     Label: 
      text:"Hello\n Welcome to my App\n" 
      font_size:40 
      color: 1,1,1,1 
     MyButton: 
      text: 'Next' 
      pos_hint:{'right':1, 'y':0} 
      on_press:root.manager.current="screen2" 

<ScreenTwo>: 
    name: "screen2" 
    id: screen_two 

    FloatLayout: 

     Label: 
      text:"Please insert your Name\n Please insert your Password\n" 
      font_size:40 
      color: 1,1,1,1 
     MyButton: 
      text: 'Next' 
      pos_hint:{'right':1, 'y':0} 
      on_press:root.manager.current="screen1" 
Verwandte Themen