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程序命令,linux – 快速开发GUI命令行相关推荐

  1. 基于嵌入式linux电子相册设计,用于LINUX或者嵌入式LINUX的电子相册程序,基于QT开发...

    用于LINUX或者嵌入式LINUX的电子相册程序,基于QT开发,包含源代码和编译好的可执行程序 linux_project\album\album.pro .............\.....\al ...

  2. python3 + Gooey快速开发GUI应用程序

    python3 + Gooey快速开发GUI应用程序 说明 Gooey 是一个 Python GUI 程序开发框架,基于 wxPython GUI 库,其使用方法类似于 Python 内置 CLI 开 ...

  3. c#如何在linux上运行程序,在Linux上运行C#

    众所周知,C#是Microsoft推出的.NET语言,只能在.NET平台上运行,例如Win 9x.ME.NT.2000.XP和Win CE之类的操作系统.但是,现在却有了一个叫做Mono的项目,它的目 ...

  4. linux系统vim程序编译器,Linux学习:vim程序编辑器

    本次记录vim这款文本编辑器的使用方法及它有哪些使用实例等. 基本概念 在Linux环境中,配置文件对整个系统来说具有举足轻重的作用,而对于其都是以ASCII的纯文本形式存在,而利用文本编辑器就能够达 ...

  5. linux保存压缩程序输出,Linux压缩zip文件

    1. Linux下zip工具简介 Linux上使用命令行版的zip压缩工具创建zip压缩文件. 2. 安装zip工具 以CentOS7.5为例,默认情况下,最小化安装并没有包括zip套件. [root ...

  6. linux gui开发工具2017,linux – 快速开发GUI命令行

    This post似乎几乎要求你想要什么. 使用YAD的顶级解决方案似乎涵盖了您的要求. 例如以下一个班轮: data="$(yad --title="Desktop entry ...

  7. linux强制关闭程序快捷键,Linux 使用、ctrl+z或screen后台运行命令程序的方法

    1、使用&后台运行命令 &:将当前命令以后台的形式运行: ps:查看正在运行的进程信息: kill:杀掉某个进程: 1) 使用&后台运行 &加在一个命令的最后,可以把当 ...

  8. 嵌入式linux下应用程序,嵌入式Linux应用程序开发详解(完整下载)

    yoogogojojo 于 2013-04-02 17:20:28发表: LZ是好人,我下了好几个资料,还都不要积分 wyy214 于 2013-04-02 08:48:01发表: 多谢分享. lov ...

  9. linux重定向到程序,技术|Linux I/O 重定向基础

    Linux 管理的一个最重要并且有趣的话题是 I/O 重定向.此功能在命令行中使你能够将命令的输入输出取自或送到文件中,或者可以使用管道将多个命令连接在一起以形成所谓的"命令管道" ...

  10. linux按键检测程序,Tiny4412 Linux驱动之按键(使用查询方式) | 技术部落

    前几天在TIny4412开发板上做了LED点灯的Linux驱动,其实挺简单,GPIO驱动,今天再看一下按键的驱动,毕竟按键用的还是比较广泛的,本文使用查询的方式获取按键值,后面会有文章使用中断的方式进 ...

最新文章

  1. 干掉 Postman?测试接口直接生成API文档,这个工具我爱了
  2. office频繁显示停止工作
  3. python中协程与函数的区别_深入浅析python 协程与go协程的区别
  4. 参加浙江中医药大学第十一届程序设计竞赛(ACM赛制)的总结
  5. ios 开发日记 21 -自动处理键盘事件的第三方库:IQKeyboardManager
  6. leetcode 1189 python
  7. SpringBoot中快速实现邮箱发送
  8. VMware16虚拟机怎么共享文件夹?
  9. linux windows 结构体,Linux下C语言——结构体对齐
  10. oracle基础语法(二)ORACLE查询
  11. Python 算法设计(2) - 大数运算 - 基于字符串的数字运算和进位
  12. 机器学习速成课程_关于获得一流客户推荐的速成课程
  13. Consul小贴士-记一次Consul注册failing状态跟踪
  14. 应用层加密方_加密应用层数据之前要问的6个问题
  15. 180多个Web应用程序测试示例测试用例
  16. 《Free Pascal 语言与基础算法》_数据排序_9_士兵站队问题题解
  17. 定时器Timer(一)—— 定时器Timer的使用
  18. 第二周python牛客练习题
  19. 计算机思维游戏,思维数字 电脑版
  20. Linux快捷键总结

热门文章

  1. Anaconda Python安装,Spyder汉化及调试
  2. 在一个字符串中找到第一个只出现一次的字符,并返回它的位置
  3. springboot快速入门(Eclipse)
  4. eclipse提交代码到github其他分支
  5. wenbao与cf整数直角三角形
  6. 页面打开自动触发onlick事件
  7. gcc/g++参数详解
  8. OpenCV中用findContours函数出现的问题和解决方法
  9. 基于AE+C#读取文件及图层输出
  10. 洛谷——P1162 填涂颜色【bfs】