Kivy de bir butona tıklayınca TextInput da bir harf silinecek nasıl çözererim bu sorunu ???
Ben olsam once textinputda olan metni alırım,bu stringde degisiklik yapıp bu textınputın yeni textını bu degistirilmis string yaparım.(tabi caktırma oyle yapmayabilirim ama,cunku cok buyuk metinlerde sıkıntı cıkarabilir bu algoritma.Yani:
from kivy.app import App
from kivy.lang import Builder
kv = """
BoxLayout:
orientation: "vertical"
TextInput:
id: bar
Button:
text: "silme cubugu"
on_press: app.sil_butonu()
"""
class bar_deneme(App):
def sil_butonu(self):
content = self.app.ids.bar.text
self.app.ids.bar.text = content[0:len(content)-1]
def build(self):
self.app = Builder.load_string(kv)
return self.app
bar_deneme().run()
Yeni sonuclar bulursam paylasırım.Bu arada sorularınızı stackoverflow gibi platformlara sormanızı cidden tavsiye ederim.Cok guzel cevaplar veriyorlar.Hem ingilizceniz gelisir,hem de sorunuza daha guzel cevaplar verilir.Bakmıssın kivy nin yazarı bile yanıt verir:)
Kolay gelsin.
Teşekkür ederim saol
#-*-coding:utf8;-*-
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.floatlayout import FloatLayout
Builder.load_string('''
<MainApp>:
TextInput:
id: textinput
text: 'Silinecek Yazı'
size_hint: 1,.5
pos_hint: {'top':1}
Button:
text: 'Sil'
size_hint: 1,.05
pos_hint: {'center_x':.5,'center_y':.45}
on_release: textinput.do_backspace(from_undo=False, mode='bkspc')
''')
class MainApp(FloatLayout):
pass
class MyApp(App):
def build(self):
return MainApp()
MyApp().run()
2 Beğeni