class main(BoxLayout): def __init__(self, **kwargs): super().__init__(**kwargs) self.a = TextInput(size_hint_y=0.07,size_hint_x=2,pos_hint={'center_x':11,'center_y':0.05}) self.add_widget(self.a) self.b = Button(size_hint_y=0.05) self.add_widget(self.b) self.b.bind(on_release=self.show_data) self.layout = BoxLayout(size_hint_y=.2) self.add_widget(self.layout) Window.clearcolor = (255 / 255.0, 235 / 255.0, 153 / 255.0, 1)
muhtemelen sorun kolay bir şey ama ben anlayamadım center_x niye çalışmıyor_?
TextInput unun size ı 2 ancak bu 1 lik sistemden değerlendiriliyor yani ekranın 2 katı olarak düşünüyor.Ayrıca center_x de verdiğin değer de 11 olduğundan ekranda gözükmüyor bile olabilir tam deneyemedim kod olarak göndermediğinden(üç tane(`) arasına alarak kod olarak gösterebilirsin bu arada haberin olsun). Ben kendim basit bir şey yapıp denedim
class main(BoxLayout):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.a = Button(size_hint_y=0.1,size_hint_x=.5,pos_hint={'center_x':0.5,'center_y':0.5})
self.add_widget(self.a)
bu kodu anlatırsam butonun y sini ekranın 10 da 1 i yapıyor, x ini de yarım yapıyor. pos konusunda da center tam ortadan hizalamaya yarıyor yani center x e .5 dediğimizde en ortasını en ortaya yerleştirir ve istediğimiz yere gitmiş olur aynı şekilde y sini de center la en ortaya verdik.Eğer center kullanmasaydın y de üstten x de soldan başlatarak pozisyonluyor diye hatırlıyorum bir test etmek lazım.