我使用python-2.7
和kivy
。有人帮助我,当我点击进入TextBox
,然后如何使用Python或kivy代码选择文本?
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.core.window import Window
Window.clearcolor = (0.5, 0.5, 0.5, 1)
Window.size = (400, 50)
class abc(BoxLayout):
pass
class Test(App):
def build(self):
return abc()
if __name__ == '__main__':
Test().run()
<abc>:
BoxLayout:
orientation: "vertical"
size_hint_y: .5
BoxLayout:
orientation: "horizontal"
spacing: 10, 10
size_hint_x: .6
Label:
text: "TEXT"
text_size: self.size
valign: 'middle'
size_hint_x: .2
TextInput:
size_hint_x: .4
您必须在我n_touch_down
旁边select_all()
显示的旁边使用o ,如下所示:
#:import Clock kivy.clock.Clock
<abc>:
BoxLayout:
orientation: "vertical"
size_hint_y: .5
BoxLayout:
orientation: "horizontal"
spacing: 10, 10
size_hint_x: .6
Label:
text: "TEXT"
text_size: self.size
valign: 'middle'
size_hint_x: .2
TextInput:
size_hint_x: .4
on_touch_down: Clock.schedule_once(lambda dt: self.select_all())
您可以通过类似的方式从python中进行操作。
* .py
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.core.window import Window
from kivy.uix.textinput import TextInput
from kivy.clock import Clock
Window.clearcolor = (0.5, 0.5, 0.5, 1)
Window.size = (400, 50)
class abc(BoxLayout):
pass
class MyTextInput(TextInput):
def on_touch_down(self, touch):
Clock.schedule_once(lambda dt: self.select_all())
TextInput.on_touch_down(self, touch)
class Test(App):
def build(self):
return abc()
if __name__ == '__main__':
Test().run()
* .kv
<abc>:
BoxLayout:
orientation: "vertical"
size_hint_y: .5
BoxLayout:
orientation: "horizontal"
spacing: 10, 10
size_hint_x: .6
Label:
text: "TEXT"
text_size: self.size
valign: 'middle'
size_hint_x: .2
MyTextInput:
size_hint_x: .4
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句