This post似乎几乎要求你想要什么.

使用YAD的顶级解决方案似乎涵盖了您的要求.

例如以下一个班轮:

data="$(yad --title="Desktop entry editor" --text="Simple desktop entry editor" --form --field="Type:CB" --field="Name" --field="Generic name" --field="Comment" --field="Command:FL" --field="Icon" --field="In terminal:CHK" --field="Startup notify:CHK" "Application" "Name" "Generic name" "This is the comment" "/usr/bin/yad" "yad" FALSE TRUE --button="WebUpd8:2" --button="gtk-ok:0" --button="gtk-cancel:1")"

创建一个对话框,其中包含:

>文本字段

>下拉列表选择

>复选框

>按钮

看起来像:

输出全部放在yad stdout上,echo“$data”看起来像:

Application|Name|Generic name|This is the comment|/usr/bin/yad|yad|FALSE|TRUE|

现在,您可以使用某些cmdline工具(如cut或awk)“解析”输出:

a="$(echo "$data" | cut -d"|" -f1)"

b="$(echo "$data" | cut -d"|" -f1)"

然后只有应用程序逻辑给你.

Ubuntu安装:

sudo add-apt-repository ppa:webupd8team/y-ppa-manager

sudo apt-get update

sudo apt-get install yad

编辑:专注于GUI到命令行选项的转换

收到downvote后,我觉得我的答案是错误的.他想要的关键是从GUI转换为cmdline选项界面.

我不知道现有的解决方案,而且由于7天之后,还没有回答,我们可以假设没有现有的解决方案.

因此,我们能做的最好的就是帮助OP自己创建一个解决方案.

我相信由于没有这么多的命令行选项案例,一个相当小的脚本就足够了.

这里有一个Python Tk示例

#!/usr/bin/env python

import Tkinter

import tkFileDialog

class Option(object):

def __init__(self,optype,name,widget=Tkinter.Entry):

self.optype = optype

self.name = name

if self.optype == 'switch':

self.widget = Tkinter.Checkbutton

else:

self.widget = widget

## INPUT -------------------------------------------------------

options = [

Option("key-value","--text="),Option("switch","-s"),Option("positional","pos0"),"pos1",tkFileDialog.askopenfilename),]

## END -------------------------------------------------------

def askopenfilename(filename):

filename.set(tkFileDialog.askopenfilename())

# Build command

def ok_func():

cmd = "cmd_line"

for option in options:

if option.optype == "key-value":

val = tkvars[option.name].get()

if val:

cmd += ' '

cmd += '%s"%s"' % (option.name,val)

elif option.optype == "switch":

cmd += ' '

if tkvars[option.name].get() == 1:

cmd += option.name

elif option.optype == "positional":

val = tkvars[option.name].get()

if val:

cmd += ' '

cmd += val

print cmd

tkvars = {}

app = Tkinter.Tk()

grid = Tkinter.Frame()

row = 0

# Build GUI

for option in options:

Tkinter.Label(grid,text=option.name).grid(row=row,column=0,sticky='W')

if option.widget == Tkinter.Entry:

tkvars[option.name] = Tkinter.StringVar()

widget = Tkinter.Entry(

grid,textvariable=tkvars[option.name]

)

elif option.widget == Tkinter.Checkbutton:

tkvars[option.name] = Tkinter.IntVar()

widget = Tkinter.Checkbutton(

grid,variable = tkvars[option.name],onvalue = 1

)

elif option.widget == tkFileDialog.askopenfilename:

tkvars[option.name] = Tkinter.StringVar()

widget = Tkinter.Button(

grid,text='Browse',command=lambda: askopenfilename(tkvars[option.name])

)

widget.grid(row=row,column=1,sticky='W')

row += 1

grid.pack()

Tkinter.Button(app,text="ok",command=ok_func).pack()

Tkinter.Button(app,text="quit",command=app.quit).pack()

app.mainloop()

要在Ubuntu 12.04上运行,首先要做:

sudo apt-get install python-tk

截图:

为截图生成的命令:

cmd_line --text="asdf" -s qwer /path/to/file

行为:

>如果–text =的值为空,则省略

>交换机只有在相应的复选框被选中时才会出现

如果你想在该代码之上实现一个新的功能,我建议你这样做here.如果它变得足够好,我们可以拆分成一个新的备份,并使其可以安装.

linux gui开发工具2017,linux – 快速开发GUI命令行相关推荐

  1. 介绍一个软件开发工具,堪称快速开发神器

    软件快速开发平台是一种软件开发工具,以通用技术架构(如MVC)为基础,集成常用建模工具.二次开发包.基础解决方案等而成.可以大幅缩减编码率,使开发者有更多时间关注客户需求,在项目的需求.设计.开发.测 ...

  2. 3D软件开发工具HOOPS全套产品开发介绍 | HOOPS Visualize、HOOPS Publish

    继上篇文章讲解了HOOPS 工具包中HOOPS Exchange.HOOPS Communicator两款产品的技术支持和应用场景(点击查看详情),今天我们一起来看看HOOPS Visualize和H ...

  3. 超实用web前端开发工具推荐(web开发+前端性能优化+浏览器兼容性测试+……)

    要说有哪些好用的前端开发软件和工具,我可有发言权哈~因为在学习的过程中积累了不少实用型前端开发工具.今天我就从浏览器兼容性测试工具.web开发工具.前端性能优化工具.大数据可视化工具这四个方向来和大家 ...

  4. 智能化开发趋势:软件快速开发平台

    近年来,以复用技术.组件.构件.快速开发为特征的快速开发平台,已成为当前软件产业的热门需求和发展趋势.因此,众多专家和业内人士不断强调,应该大力发展以复用技术.组件.构件为特征的中间件,尤其是快速开发 ...

  5. 开发工具与低代码开发平台丨上海道宁联合Grapecity为您提供各类软件开发工具和服务

    Grapecity 提供软件开发技术和低代码平台 通过各类软件开发工具和服务 提升开发效率 推动软件产业发展 葡萄城研发各类开发控件和 商业智能报表工具 提供控件技术和数据分析工具 基于专业控件的技术 ...

  6. 微信小程序使用真机或开发工具进行http请求开发测试亲测有效

    微信小程序使用真机或开发工具进行http请求开发测试 1使用微信开发这工具进行http请求的配置 2:真机进行http请求 微信开发这平台要求上线微信小程序配置的合法域以及网络请求名必须是https, ...

  7. window linux传输工具,window与linux文件传输工具,linux文件传输

    window与linux文件传输工具,linux文件传输 window与linux文件传输工具 [一般用于SecureCRT ssh中使用] 法一:直接用yum安装lrzsz(推荐) yum inst ...

  8. linux mysql命令行导入_在linux中导入sql文件的方法分享(使用命令行转移mysql数据库)...

    因导出sql文件 在你原来的网站服务商处利用phpmyadmin导出数据库为sql文件,这个步骤大家都会,不赘述. 上传sql文件 前面说过了,我们没有在云主机上安装ftp,怎么上传呢? 打开ftp客 ...

  9. golang 命令行_如何使用Golang编写快速有趣的命令行应用程序

    golang 命令行 by Peter Benjamin 彼得·本杰明(Peter Benjamin) 如何使用Golang编写快速有趣的命令行应用程序 (How to write fast, fun ...

最新文章

  1. Navicat for SQL Server 文件属性有哪些
  2. C++模板:模板简述,函数模板详细说明【C++模板】(56)
  3. 【SAP】自定义权限对象
  4. Metal之探究理解视频渲染RGB与YUV颜色编码
  5. 清华尹成python爬虫百度云_爬虫:利用python完成百度贴吧数据采集
  6. lintcode二叉树的锯齿形层次遍历 (双端队列)
  7. matlab lu分解求线性方程组_计算方法(二)直接三角分解法解线性方程组
  8. html ie动画效果,css3强大的动画效果animate使用说明及浏览器兼容介绍
  9. spark rdd读取文件
  10. [转]Yii Framework: 从 model 中生成 select option
  11. 管理感悟:掌握写文档的技能
  12. 我的实用设计模式之关于Policy-based design
  13. php实现我的购物以及订单,实现简单的php购物车代码
  14. vt版本不见了_王者荣耀VT版本玩法是什么?修改机型玩VT版方法是什么?
  15. 鸟哥Linux私房菜 第五章 文件权限与目录配置
  16. 软件体系结构——管道过滤器风格
  17. java语言要学多久_零基础学JAVA语言难吗!需要多久
  18. Recovering BST
  19. word设置图片上边空白24点,下边9点,图片和图注在一行怎么办?
  20. 京剧《断密涧》中李密和王伯当的唱段

热门文章

  1. 企业知识库系统有什么用
  2. hp probook 4411s电脑在用光盘安装时没有镜像问题
  3. 搭建机器人电控系统——通信协议——CAN通信及其实例
  4. STM32 CAN通信协议详解—小白入门(二)
  5. Ubuntu中安装Pytorch
  6. 科技科幻风格的RPG像素游戏室内地图素材包
  7. 【OFF三维显示】通过MATLAB读取off文件生成三视图 提取轮廓线
  8. python--摄氏温度和华氏温度的互相转换
  9. 永磁同步电机磁链观测Matlab仿真,基于磁链观测器的永磁同步电动机无传感器控制技术研究...
  10. java策略模式和工厂模式的区别