Python 如何在kivy中基于复选框隐藏文本框 test.py 试验电压(千伏) : 文本大小:self.size valign:“中间” 填充x:5 : 多行:False : 背景颜色:1,1,1,1 尺寸提示:无 高度:self.parent.height*0.120 用户组 网格布局: 科尔斯:2 填充:30,30 间距:20,20 行\默认\高度:“30dp” 标签: 文字:“男性” 文本大小:self.size valign:“中间” 复选框: 组:'检查' id:chk 标签: 文字:“女性” 文本大小:self.size valign:“中间” 复选框: 组:'检查' 自定义标签: 文字:“年龄” 文本大小:self.size valign:“中间” SingleLineTextInput: id:年龄 绿色按钮: 文字:“Ok” 绿色按钮: 文本:“取消” 按:app.stop()
我是python/kivy新手。我不知道checkbox是如何工作的?Python 如何在kivy中基于复选框隐藏文本框 test.py 试验电压(千伏) : 文本大小:self.size valign:“中间” 填充x:5 : 多行:False : 背景颜色:1,1,1,1 尺寸提示:无 高度:self.parent.height*0.120 用户组 网格布局: 科尔斯:2 填充:30,30 间距:20,20 行\默认\高度:“30dp” 标签: 文字:“男性” 文本大小:self.size valign:“中间” 复选框: 组:'检查' id:chk 标签: 文字:“女性” 文本大小:self.size valign:“中间” 复选框: 组:'检查' 自定义标签: 文字:“年龄” 文本大小:self.size valign:“中间” SingleLineTextInput: id:年龄 绿色按钮: 文字:“Ok” 绿色按钮: 文本:“取消” 按:app.stop(),python,python-2.7,kivy,kivy-language,Python,Python 2.7,Kivy,Kivy Language,我是python/kivy新手。我不知道checkbox是如何工作的? 如何隐藏、显示“年龄”文本框,根据男性、女性复选框标记。 如果我选择男性,则应显示年龄文本框和标签。如果我选择女性,则应删除年龄文本框和标签。解决方案是使用不透明度属性来隐藏小部件。默认情况下,不透明度设置为1表示可见,0表示不可见。我还使用ObjectProperty连接到年龄标签小部件和TextInput小部件。有关详细信息,请参考示例 widget.opacity = 0 # invisible 例子 test
如何隐藏、显示“年龄”文本框,根据男性、女性复选框标记。
如果我选择男性,则应显示年龄文本框和标签。如果我选择女性,则应删除年龄文本框和标签。
解决方案是使用不透明度属性来隐藏小部件。默认情况下,不透明度设置为1表示可见,0表示不可见。我还使用ObjectProperty连接到年龄标签小部件和TextInput小部件。有关详细信息,请参考示例
widget.opacity = 0 # invisible
例子
test.py
试验电压(千伏)
#:kivy 1.10.0
:
文本大小:self.size
valign:“中间”
填充x:5
:
多行:False
:
背景颜色:1,1,1,1
尺寸提示:无
高度:self.parent.height*0.120
用户组:
年龄标签:年龄标签
年龄\文本输入:年龄
网格布局:
科尔斯:2
填充:30,30
间距:20,20
行\默认\高度:“30dp”
标签:
文字:“男性”
文本大小:self.size
valign:“中间”
复选框:
id:chk
组:'检查'
激活时:
root.age_label.opacity=1#可见
root.age_textinput.opacity=1#可见
标签:
文字:“女性”
文本大小:self.size
valign:“中间”
复选框:
组:'检查'
激活时:
root.age_label.opacity=0#不可见
root.age_textinput.opacity=0#不可见
自定义标签:
id:age_标签
文字:“年龄”
文本大小:self.size
valign:“中间”
SingleLineTextInput:
id:年龄
绿色按钮:
文字:“Ok”
绿色按钮:
文本:“取消”
按:app.stop()
输出
<CustomLabel@Label>:
text_size: self.size
valign: "middle"
padding_x: 5
<SingleLineTextInput@TextInput>:
multiline: False
<GreenButton@Button>:
background_color: 1, 1, 1, 1
size_hint_y: None
height: self.parent.height * 0.120
UserGroup
GridLayout:
cols: 2
padding : 30,30
spacing: 20, 20
row_default_height: '30dp'
Label:
text: 'Male'
text_size: self.size
valign: 'middle'
CheckBox:
group: 'check'
id : chk
Label:
text: 'Female'
text_size: self.size
valign: 'middle'
CheckBox:
group: 'check'
CustomLabel:
text: 'age'
text_size: self.size
valign: 'middle'
SingleLineTextInput:
id: age
GreenButton:
text: 'Ok'
GreenButton:
text: 'Cancel'
on_press: app.stop()
widget.opacity = 0 # invisible
import sqlite3 as lite
from kivy.uix.screenmanager import Screen
from kivy.properties import ObjectProperty
from kivy.app import App
from kivy.lang import Builder
from kivy.core.window import Window
Window.size = (600, 325)
class UserGroup(Screen):
age_label = ObjectProperty(None)
age_textinput = ObjectProperty(None)
class FactUserGroup(App):
def build(self):
self.root = Builder.load_file('test.kv')
return self.root
if __name__ == '__main__':
FactUserGroup().run()
#:kivy 1.10.0
<CustomLabel@Label>:
text_size: self.size
valign: "middle"
padding_x: 5
<SingleLineTextInput@TextInput>:
multiline: False
<GreenButton@Button>:
background_color: 1, 1, 1, 1
size_hint_y: None
height: self.parent.height * 0.120
UserGroup:
age_label: age_label
age_textinput: age
GridLayout:
cols: 2
padding : 30,30
spacing: 20, 20
row_default_height: '30dp'
Label:
text: 'Male'
text_size: self.size
valign: 'middle'
CheckBox:
id : chk
group: 'check'
on_active:
root.age_label.opacity=1 # Visible
root.age_textinput.opacity=1 # Visible
Label:
text: 'Female'
text_size: self.size
valign: 'middle'
CheckBox:
group: 'check'
on_active:
root.age_label.opacity=0 # Invisible
root.age_textinput.opacity=0 # Invisible
CustomLabel:
id: age_label
text: 'age'
text_size: self.size
valign: 'middle'
SingleLineTextInput:
id: age
GreenButton:
text: 'Ok'
GreenButton:
text: 'Cancel'
on_press: app.stop()