2017-11-28 18 views
0

ボタン上に画像を配置したい。ボタンのサイズは画面のサイズによって異なります。ボタンの大きさに合わせて理想的な画像サイズを選択したいボタンはButtonToolsクラスで定義されています。私の知る限りでは、ButtonToolsクラスのサイズでしかサイズを取得できません。画面のサイズはどのように取得するのですか?Kivyボタンによる動的選択画像

from kivy.app import App 
from kivy.uix.widget import Widget 

from kivy.uix.boxlayout import BoxLayout 
from kivy.uix.button import Button 

from kivy.uix.image import Image 


class Paint(Widget): 
    pass 

class ButtonTools(BoxLayout): 
    def __init__(self, **kwargs): 
     super(ButtonTools, self).__init__(**kwargs) 

     self.size_hint = (1, None) 
     self.height = 50 


     but = Button(on_press = self.DrawAbscissa) 
     but.background_normal = 'abscissa.png' 
     self.add_widget(but) 

     but = Button(on_press = self.DrawCurve) 
     but.background_normal ='curve.png' 
     self.add_widget(but) 


    def DrawAbscissa(self, obj): 
     size = self.parent.size 
     p=1 
     pass 

    def DrawCurve(self, obj): 
     pass 

class WorkShop(BoxLayout): 
    def __init__(self, **kwargs): 
     super(WorkShop, self).__init__(**kwargs) 
     self.orientation = "vertical" 

     self.paint = Paint() 

     self.tools = ButtonTools() 

     self.add_widget(self.paint) 
     self.add_widget(self.tools) 

class MyPaintApp(App): 

    def build(self): 
     return WorkShop() 


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

答えて

1

次を使用して画面サイズを取得することができます。

from kivy.core.window import Window 
... 
     print("Window.size={}".format(Window.size)) 
     print("Window.height={}".format(Window.height)) 
     print("Window.width={}".format(Window.width)) 
+0

はありがとうございました!私はあなたの助言をすぐに適用します。 – jasan

関連する問題