2017-06-17 17 views
0

Ich versuche, kivy scrollview innerhalb der EmployeeScreen-Klasse zu verwenden. Es wird nicht scrollen !? Was mache ich falsch? Ich hoffe, das ist kein Duplikat, bitte helfen Sie mir. Ich ging zu diesem Link Kivy ScrollView - Not Scrolling. Dies scheint die einzige Frage in Bezug auf Kivy Scrollview nicht Scrollen zu sein. Das hat mein Problem nicht gelöst.kivy scrollview funktioniert nicht

Py-Datei:

`from kivy.app import App 

from kivy.uix.label import Label 
from kivy.uix.button import Button 
from kivy.uix.screenmanager import ScreenManager, Screen 
from kivy.properties import ObjectProperty 
from kivy.uix.scrollview import ScrollView 


from kivy.uix.boxlayout import BoxLayout 
from kivy.uix.stacklayout import StackLayout 
from kivy.uix.floatlayout import FloatLayout 
from kivy.uix.gridlayout import GridLayout 


class LogInScreen(Screen): 
    pass 
class EmployeeScreen(Screen): 
    pass 

class Manager(ScreenManager): 
    login_screen = ObjectProperty(None) 
    employee_screen = ObjectProperty(None) 


class CptApp(App): 
    icon = 'Images\login\cptlogo.png' 
    title = 'CPT' 
    def build(self): 
     return Manager() 


if __name__=='__main__': 
    CptApp().run()` 

.kv Datei:

<Manager>: 
id: screen_manager 

login_screen: login_screen 
employee_screen: employee_screen 


LogInScreen: 
    id: login_screen 
    name: 'login' 
    manager: screen_manager 

    FloatLayout: 
     StackLayout: 
      orientation: 'lr-tb' 
      canvas: 
       Color: 
        rgba: 1,1,1,1 
       Rectangle: 
        pos: self.pos 
        size: self.size 
      Image: 
       size_hint_y: .1 
       source: 'Images\login\cptbanner.jpg' 
       allow_stretch: True 
       keep_ratio: True 

      Image: 
       source: 'Images\login\HD7Brw.jpg' 
       allow_stretch: True 
       keep_ratio: False 

    Label: 
     size_hint_y: .05 
     size_hint_x: .5 
     pos_hint: {"x": .25, "y": .7} 
     markup: True 
     text: '[i][b][color=#000000]USER NAME[/color][/b][/i]' 

    TextInput: 
     id: 'username_input' 
     multiline: False 
     size_hint_x: .4 
     size_hint_y: .05 
     pos_hint: {"x": .3, "y": .65} 

    Label: 
     size_hint_y: .05 
     size_hint_x: .5 
     markup: True 
     text: '[i][b][color=#000000]PASSWORD[/color][/b][/i]' 
     pos_hint: {'x': .25, 'y': .5} 

    TextInput: 
     id: 'password_input' 
     multiline: False 
     password: True 
     size_hint_x: .4 
     size_hint_y: .05 
     pos_hint: {'x': .3, 'y': .45} 

    Image: 
     source: 'Images/login/loginbutton.png' 
     size_hint_x: .25 
     size_hint_y: .1 
     pos_hint: {'x': .375, 'y': .25} 

    Button: 
     id: 'login_button' 
     background_color: 0,0,0,0 
     markup: True 
     text: '[i][b][color=#000000]LOGIN[/color][/b][/i]' 
     size_hint_x: .25 
     size_hint_y: .1 
     pos_hint: {'x': .375, 'y': .25} 
     on_release: screen_manager.current = 'employeescreen' 

EmployeeScreen: 
    id: employee_screen 
    name: 'employeescreen' 
    manager: screen_manager 

    StackLayout: 
     orientation: 'lr-tb' 
     canvas: 
      Color: 
       rgba: 1,1,1,1 
      Rectangle: 
       pos: self.pos 
       size: self.size 
     Image: 
      size_hint_y: .1 
      source: 'Images\login\cptbanner.jpg' 
      allow_stretch: True 
      keep_ratio: True 

     ScrollView: 
      do_scroll_x: False 
      size: root.size 
      pos: root.pos 
      GridLayout: 
       cols: 2 
       size_hint_y: None 
       height: self.minimum_height 
       pos: root.pos 

       Button: 
        height: 40 
        size_hint_y: None 
        text: 'TEST' 
       Button: 
        size_hint_x: 1 
        size_hint_y: None 
        text: 'TEST' 
       Button: 
        size_hint_x: 1 
        size_hint_y: None 
        text: 'TEST' 
       Button: 
        size_hint_x: 1 
        size_hint_y: None 
        text: 'TEST' 
       Button: 
        size_hint_x: 1 
        size_hint_y: None 
        text: 'TEST' 
       Button: 
        size_hint_x: 1 
        size_hint_y: None 
        text: 'TEST' 
       Button: 
        size_hint_x: 1 
        size_hint_y: None 
        text: 'TEST' 
       Button: 
        size_hint_x: 1 
        size_hint_y: None 
        text: 'TEST' 
       Button: 
        size_hint_x: 1 
        size_hint_y: None 
        text: 'TEST' 
       Button: 
        size_hint_x: 1 
        size_hint_y: None 
        text: 'TEST' 
       Button: 
        size_hint_x: 1 
        size_hint_y: None 
        text: 'TEST' 
       Button: 
        size_hint_x: 1 
        size_hint_y: None 
        text: 'TEST' 
+0

Sie haben eine Menge Probleme mit dem von Ihnen geposteten Code. Für den Anfang geben Sie mehr als ein Root-Widget zurück und haben Formatierungsfehler. Wie geschrieben, wird dies nicht ausgeführt. Reinige es ein wenig und ich werde es mir ansehen. – Mox

+0

Es tut mir leid für die Formatierungsfehler, es ist mein erstes Mal Code auf SO, Code muss in den Prozess gemangelt haben. Ich habe es jedoch zufällig herausgefunden. – supreme

+0

@ user1880836 was meinst du ich gebe mehr als ein root widget zurück? Auch mein Code läuft auf meinem PC einwandfrei. Ich bin ein Anfänger, also bitte verzeih mir meine Noobness, lol. – supreme

Antwort

0

Ich habe versucht, Gridlayout in meiner .kv-Datei zu verwenden, falsch, ich hatte eine Klasse zu erstellen und seine außer Kraft setzen init.

dann legte ich die Klasse in der KV-Datei wo GridLayout war.

Verwandte Themen