曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 3724|回复: 0
打印 上一主题 下一主题

zenity -- 创建 GNOME 环境窗口

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34397
跳转到指定楼层
楼主
发表于 2011-5-6 15:26:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
zenity 允许使用命令行选项创建窗口小部件。比如运行:
$zenity --calendar
便可以产生一个日历小部件窗口,如下图所示:

如果点击 OK 退出,那么还会将当前日期返回到命令行中:
$ zenity --calendar
05/06/2011
下表列出了 zenity 可以创建的不同小部件:
选项
描述
--calendar
显示一个完整的日立
--entry
显示一个文本输入对话框窗口
--error
显示一个错误消息对话框窗口
--file-selection
显示完整的路径名和文件名对话框窗口
--info
显示信息对话框窗口
--list
显示检查列表或单选框列表对话框窗口
--notification
显示一个通知图标
--progress
显示一个进度栏对话框窗口
--question
显示一个 yes/no 问题对话框窗口
--scale
显示一个刻度比例对话框窗口
--text-info
显示一个含有文字的文本框
--warning
显示一个警告对话框窗口

下面是一段测试脚本:
[Bash shell] 纯文本查看 复制代码
#!/bin/bash

temp=`mktemp -t temp.XXXXXX`
temp2=`mktemp -t temp.XXXXXX`

function diskspace {
    df -h > $temp
    zenity --text-info --title "Disk space" --filename=$temp --width 750 --height 50
}

function whois {
    whoami > $temp
    zenity --text-info --title "Who am i" --filename=$temp --width 760 --height 40
}

function memusage {
    cat /proc/meminfo > $temp
    zenity --text-info --title "memory usage" --filename=$temp --width 300 --height 500
}

while [ 1 ]
do
zenity --list --radiolist --title "System Admin" --column "Select" --column "Menu Item" FALSE "Disk space" FALSE "Who am i" FALSE "Memory usage" FALSE "Exit" > $temp2
if [ $? -eq 1 ]
then
    break
fi

selection=`cat $temp2`
case $selection in
"Disk space")
    diskspace ;;
"Who am i")
    whois ;;
"Memory usage")
    memusage ;;
"Exit")
    break ;;
*)
    zenity --info "Sorry, wrong selection"
esac
done

上面,在制作菜单时,使用 FALSE 表示不进行预选。--column 选项将一个对话框氛围两列。--radiolist 选项是使用单选按钮。

另外,如果是 KDE 环境,那么使用 kdialog 命令来创建小部件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-6-19 05:17 , Processed in 0.080244 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表