【导语】:将 Python 命令行转换为 GUI 的东西。
简介
Gooey 是一个将 Python 操控台程序转换为 GUI 应用程序的东西,让开发者专心于构建强健的、可装备的程序,而无需担忧应用程序怎样呈现以及怎样与用户交互。
开发者一般很喜欢命令行,但关于普通用户来说是不行了解的。Gooey 很好地将两者结合起来,让开发者专心于代码,为所欲为的构建凌乱ffmpeg.dll丢掉怎么办的应用程序,并为用户供给友爱的应用程序界面。
项目地址是:
github.com/chriskiehl/…
快速开始
设备
设备 Gooey 的最简略办法是经过 pip:
pip install Gooey
或许,能够经过php是什么先将项目 clon公积金e 到本地:
git clone htjson字符串tps://github.com/chriskiehl/Gooey.git
再运行 setup.py 文件:
python setup.py install
留意,Python 2 的用户有必要手动设备 WxPython,从官网手动下载设备。
用法
Gooey 经过一个简公积金略的装饰器附加到代码中,任何办法都有 argparse 声明(一般是main办法)。
from gooey import Gooey
@Gooey <--- all it takes! :)
denodejs教程f main():
parser = ArgumentParser(...)
# rest of cjson格局ode
经过将参数传递给装饰器来装备不同宫颈癌早期症状的款式和功用:
# options
@Gooey(advanced=Boolean, # 是否闪现高档装备
language=lanphp中文网guage_string, # 装备言语,json字符串
auto_start=True, # 越过装备
target=executable_cmd, # 闪现设置子进程工程造价履行参数
prnodejs教程ogram_name='name', # 程序名,默许是脚本文件名
program_description, # 描绘,默许闪现 ArgParse 的描绘
default_size=(610, 530), # GUI 页面jsonp跨域原理尺度
required_cols=1, # 必php中文网填部分的列数
optional_cols=2, # 选填部分的列数
dump_build_config=Fajson是什么意思lse, # 保存本身的装备 JSON
load_build_config=None, # 加载指定的装备 JSON
monospace_display=False) # 在输出屏幕中运用单一间隔的字体
)
def main():
parser = ArgumentParser(nodejs后端开发结构...)
# rest of code
能够运用 GooeyParser 来代替 ArgumentParser,GooeyParser 供给了更细节的宫崎骏一些装备和功php是什么言语用,包含指定已定义好的组件:
from gooey import Gooey, GooeyParser
@Gooey
def main():
parser = GooeyParser(description="My Cool GjsonUI Pphpmyadminrogram!")
parser.add_argument('Filename', widgnodejs装置及环境配置et="FileChooseJSONr")
parser.add_argument('Danodejs面试题2021te', widget="DateChooser")
...
以下是json格局官网供给的一个比较具宫颈癌体的比如:
"""
Example program to demonstrate Gffmpeg.dll找不到是什么状况ooey's presentation of subparsers
"""
import argparse
from gooey import Gooey, GooeyPaffmpeg羞耻柱事情rser
from message import display_message
runninode.js装置过程ng = True
@GNode.jsooey(optional_colsffmpeg安卓版别下载=2, pffmpeg.dll找不到是什么状况rogram_name="Subparser Layout Demo")
def maphp是前端仍是后端in():
settings_msg = 'Sub龚俊parser example龚俊 demonsnodejs面试题2021tating bundled configurations '
'for Siege,公积金 Curl, and FFMPEG'
pphp是什么arser = GooeyParser(description=settings_msg)
parsphp中文网er.add_argument('--verbose', help='be verbose', dejsonst='verbose',
action='store_true', defauffmpeg教程lt=False)
subs = parser.add_subparsers(help='commands', dest='nodejs菜鸟教程command'宫颈癌)
curl_php是什么parser = subs.a宫颈癌dd_parser(
'curl', help='curl is a tool to transfer data from or to a sphp是什么erver')
curl_parser.add_argument('Path',
help='URL to the remote server',
type=str, widget='FileChooser')
curl_parser.a狗狗币dd_argument('--connect-tnodejs菜鸟教程imeout',
help='Maximum time in secondsphp是前端仍是后端 that you allow curl's connectnodejs与java交互ion to take')
curl_parser.add_argument('--user-agent',
help='Specify the User-Agent string ')
curl_parjsonp跨域原理ser.add_argument('--cookie',
help='Pass the data to the HTTP servenodejs面试题2021r as a cookie')
curl_parFFmpegser.add_argument('--dump-header', type=argparsphp35e.FileType(),
help='Write the protocol headers to the specified file')
curl_parser.add_argument('--progress-bar', action="store_true",
heljson格局p='Make curl display progress as a simple proffmpeg教程gress bar')
curl_parser.add_argument('--http2', action="store_true",
help='Tells curl to isphp是什么sue it宫崎骏s requests using HTTP 2')
curl_parser.add_aFFmpegrgument('--ipv4', a宫颈癌ction="store_true",
help='nodejs菜鸟教程 resolve names to IPv4 addresses only')
# ####################################phpstudy####################
siege_parser = subs.add_parser(
'siege', help='Snodejs教程iege is an httpffmpeg装置/https regression testing and benchmarking utility')
siege_parser.add_argument('--ge工商银行t',
help='Pull down headenodejs与java交互rs from the server and display HTTP transaction',
type=str)
siege_parser.add_argument('--concurrent',
help='Stressphp是什么 tPHPhe web server with NUM number of simulated users',
type=int)
siege_parser.add_json文件是干什么的argument('--time',
hgoogleelp='allows you to run the test for a selected period of time',
type=int)
siege_parser.add_argument('--delay',
help='simulated user is delayed for a random numffmpeg装置bjson格局怎么翻开er of seconds between one and NUM',
type=int)
siege_parser.add_argument('--message',
help='mark the log file with a separatorPHP',
type=int)
# ######json###############################php35###################
ffmpeg_parser宫崎骏 = subsffmpeg从入门到通晓.add_parser(
'ffmpeg', help='A complete, cross-platform solution to record, convert and stream audio andnodejs是干嘛的 vidffmpeg安卓版别下载eo')
ffmpephp中文网g_parser.add_argument('Output',
help='Pull down headers from thenode.js装置过程 server and diphp中文网splay HTTP tnodejs面试题2021ransaction',
widget=工商银行'FileSaver', type=argparse.FileT龚俊ype())
ffmpeg_parser.add_argument('--bitrate',
hphp是什么言语elp='set the video bitrate in kbit/s (defaphp是前端仍是后端ulnodejs装置及环境配置t = 200 kb/s)',
type=str)
ffmpeg_parser.php是什么言语add_argument('--fps',
help='set frame rate (default = 25)',
type=str)
ffmpeg_parser.add_argument('--size',
help='set frame size. The format is WxH (default 160x128)',
type=str)
ffmpeg_parser.add_argument('--aspect',
help='set aspect ratio (ffmpeg.dll找不到是什么状况4:3, 16:9 or 1.3333, 1.7777)',
type=str)
ffmpeg_parser.add_arguGoment('--tolerffmpeg装置ance',
help='set video bitrate tolerance (in kb枸杞it/s)',
type=str)
ffmJSONpeg_parser.add_argument('--maxrate',
helnodejs与java交互p='set min video bitrate toleran工商银行ce (in kbit/s)',
type=str)
ffmjson文件是干什么的peg_paphp35rser.add_argument('--bufsize',
helnode.js装置过程p='set ratecontrol buffere size (i宫崎骏n kbNode.jsit)',
type=str)
parser.parse_args()
display_mes工商银行sage()
if __name__ == '__main__':
main()
国际化
Gooey 支撑国际化,能够轻nodejs装置及环境配置松地共同到目标言php货币语中。言语经过 Gooey 装饰龚俊器进行操控:
@Gooey(language='russia龚俊n')
def main():
...
控件
Gooey 供给了许多开箱即可的小控件,开发者能够直接引入运用,这里ffmpeg下载只简略罗列几个。
- 文件选择器,DirChooser、FileC宫颈癌hooser、MultiFileChooser、FileSaver、MultiFileSaver:
- 日期/php中文网时间选择器:
-
暗码文本框:
-
色彩选择器:
- 可查找下拉框:
开源前哨
日常共享抢手、诙谐和有用的开源项目。参加维护 10万+ Star 的开源技术资源库,包含:Python、Java、C/C++、Go、JS、CSS、Node.jnodejs和vue的关系s、PHP、.NET公积金 等。