2016-08-30 2 views
0

Ich bin neu in Kivy und ich habe versucht, für ein paar Tage für eine geeignete Layout, aber ich nicht scheinen, um ein Ergebnis zu bekommen. Ich möchte, dass die Tasten '2' und '3' auf dem Bild in den Ecken wie die Tasten '1' und '4' bleiben. was soll ich machen?Kivy Putting Tasten an der Ecke des Layouts

http://i.stack.imgur.com/Y6Rjo.png

hier ist mein Code, aber es funktioniert nicht nach Bedarf:

# Main 
BoxLayout: 
    size_hint: 1, .85 
    # Outer 
    canvas: 
     Color: 
      rgba: 1, 1, 1, .3 
     Rectangle: 
      pos: self.pos 
      size: self.size 
    # Inner 
    BoxLayout: 
     AnchorLayout: 
      canvas: 
       Color: 
        rgba: 1, 1, 1, .6 
       Rectangle: 
        pos: self.center_x/2, self.center_y/2 
        size: self.width/2, self.height/2 
      BoxLayout: 
       size_hint: .5, .5 
       AnchorLayout: 
        anchor_x: 'left' 
        anchor_y: 'top' 
        Button: 
         size_hint: None, None 
         text: '1' 

       AnchorLayout: 
        anchor_x: 'right' 
        anchor_y: 'top' 
        Button: 
         size_hint: None, None 
         text: '2' 

       AnchorLayout: 
        anchor_x: 'left' 
        anchor_y: 'bottom' 
        Button: 
         size_hint: None, None 
         text: '3' 

       AnchorLayout: 
        anchor_x: 'right' 
        anchor_y: 'bottom' 
        Button: 
         size_hint: None, None 
         text: '4' 

Antwort

0

Ich würde diese Tasten auf einem relatives Layout raten setzen, und die Manipulation dann ihre pos_hint Eigenschaften für die Positionierung. Screenshot: enter image description here

Code:

#!/usr/bin/env python3.5 
# -*- coding: utf-8 -*- 
from kivy.app import App 
from kivy.lang import Builder 

gui = ''' 
Screen 

    RelativeLayout 
     size_hint: None, None 
     size: 500, 500 
     pos_hint: {'center_x': 0.5, 'center_y': 0.5} 

     canvas: 
      Color: 
       rgba: 1, 1, 1, 0.3 
      Rectangle: 
       pos: 0, 0 
       size: self.size 

     MyButton 
      pos_hint: {'left': 1, 'top': 1} 
      text: 'top left' 

     MyButton 
      pos_hint: {'right': 1, 'top': 1} 
      text: 'top right' 

     MyButton 
      pos_hint: {'left': 1, 'bottom': 1} 
      text: 'bottom left' 

     MyButton 
      pos_hint: {'right': 1, 'bottom': 1} 
      text: 'bottom right' 

<[email protected]> 
    size_hint: None, None 
    size: 100, 100 
''' 


class Test(App): 

    def build(self): 
     return Builder.load_string(gui) 


Test().run() 
+0

vielen Dank :) – Juggernaut

Verwandte Themen