【问题标题】:In zenity forms, how can I set default values (initialize) entries?在 zenity 表单中,如何设置默认值(初始化)条目?
【发布时间】:2014-04-05 10:44:12
【问题描述】:

我有一个 zenity 表单正在工作,但我找不到任何有关初始化条目的信息。 Zenity 帮助手册网页没有解决这个问题。 例如,该网页中的示例是

#!/bin/sh

zenity --forms --title="Add Friend" \
--text="Enter information about your friend." \
--separator="," \
    --add-entry="First Name" \
    --add-entry="Family Name" \
    --add-entry="Email" \
    --add-calendar="Birthday" >> addr.csv

case $? in
    0)
        echo "Friend added.";;
    1)
        echo "No friend added."
    ;;
    -1)
        echo "An unexpected error has occurred."
    ;;
esac

如何在显示窗口之前初始化名字、姓氏等?

【问题讨论】:

    标签: zenity


    【解决方案1】:

    使用yad。这是一个 zenity 的分支,我最终使用它来克服 zenity 中缺少的功能。关键是使用 --form 选项并在定义的选项和参数之后包含命令行中的初始值。此“额外数据”假定为字段的初始值。

    initial_name_data='Jane Doe'; initial_email_data='jane@doe.org'
    yad --form --title='Contact Info' --text='Edit Data' --field=Name --field=Email "$initial_name_data" "$initial_email_data"
    

    【讨论】:

    • 如果字段类型是“CB”(组合框),这似乎不起作用 - 它假定第一个条目是默认值,这并不总是需要的。
    【解决方案2】:

    yad --form --title='联系信息' --text='编辑数据' --field=Name:CB --field=Email 'Joe Cool!^Jane Doe!写另一个名字' "JoeCool@家网”

    乔酷|JoeCool@home.net|

    您应该以 ^ 开始默认选项,并用 ! 分隔每个选项。 (请注意,我将所有这些都用'...'括起来

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-04
    • 2016-07-09
    • 2021-10-18
    • 2015-03-03
    • 1970-01-01
    • 1970-01-01
    • 2020-06-07
    • 2014-01-23
    相关资源
    最近更新 更多