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中基于复选框隐藏文本框 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

我是python/kivy新手。我不知道checkbox是如何工作的?

如何隐藏、显示“年龄”文本框,根据男性、女性复选框标记。

如果我选择男性,则应显示年龄文本框和标签。如果我选择女性,则应删除年龄文本框和标签。

解决方案是使用不透明度属性来隐藏小部件。默认情况下,不透明度设置为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()