PySimpleGUI 的第一个桌面软件
最近学习了python风格的GUI模块,寻思着既然学了,就要学以致用,花了点时间,写了下面这个
简历软件。后面,可以通过接口 获取提交的数据,传到数据库里与网页交互。此软件我已经打包成 exe软件,直接windows电脑双击使用。
# -*- coding: utf-8 -*-# @Time : 2019/1/18 9:46# @Author : wujf# @Email : 1028540310@qq.com# @File : tkinter_02.py# @Software: SublimTextsg.ChangeLookAndFeel('GreenTan')
form = sg.FlexForm('PySimpleGUI入门软件', default_element_size=(40, 1))
column1 = [[sg.Text('个人评估', background_color='#d3dfda', justification='center', size=(10,1))],
[sg.Spin(values=('1','2', '3','4','5','6', '7','8', '9','10'), initial_value='工作能力')],
[sg.Spin(values=('1','2', '3','4','5','6', '7','8', '9','10'), initial_value='同事相处')],
[sg.Spin(values=('1','2', '3','4','5','6', '7','8', '9','10'), initial_value='团队协作')]]
layout = [
[sg.Text('个人简历', size=(30, 1), font=("Helvetica", 25)),sg.Text('Writer:Mr wu', size=(60, 1),font=("Helvetica",10))],
[sg.Text('自我介绍', size=(60, 1),font=("Helvetica", 10))],
[sg.InputText('执着于技术的探索,代码就是一切!')],
[sg.Text('个人爱好')],
[sg.Checkbox('游泳'),
sg.Checkbox('看书'),
sg.Checkbox('打羽毛球', default=True),
sg.Checkbox('打保龄球'),
sg.Checkbox('打兵球'),
sg.Checkbox('打篮球'),
sg.Checkbox('打棒球'),
sg.Checkbox('唱歌'),
sg.Checkbox('跳舞'),
sg.Checkbox('玩游戏'),
sg.Checkbox('旅游')
],
[sg.Text('性别')],
[sg.Radio('男 ', "RADIO1", default=True), sg.Radio('女', "RADIO1")],
[sg.Text('出生')],
[sg.Listbox(values=('1990年','1991年','1992年','1993年','1994年','1995年','1996年','1997年','1998年','1999年','2000年','2001年','2002年','2003年'), size=(30, 5))],
[sg.Text('工作简介')],
[sg.Multiline(default_text='This is the default Text should you decide not to type anything', size=(50, 5))],
[sg.Text('工作经历')],
[sg.Multiline(default_text='This is the default Text should you decide not to type anything', size=(70, 8))],
[sg.Text('语言')],
[sg.InputCombo(('汉语', '英语','德语', '法语','韩语', '意大利语','俄语', '日语','其他'), size=(20, 6)),
sg.Text('语言能力'),
sg.Slider(range=(1, 100), orientation='h', size=(20, 20), default_value=65)],
[sg.InputCombo(('汉语', '英语','德语', '法语','韩语', '意大利语','俄语', '日语','其他'), size=(20, 6)),
sg.Text('语言能力'),
sg.Slider(range=(1, 100), orientation='h', size=(20, 20), default_value=65)],
[sg.Text('你的学历')],
[sg.Listbox(values=('高中','大专', '本科','硕士', '博士','海外引进人才'), size=(30, 5)),
sg.Text('行业认知度'),
sg.Slider(range=(1, 100), orientation='v', size=(5, 20), default_value=25),
sg.Text('工作热情度'),
sg.Slider(range=(1, 100), orientation='v', size=(5, 20), default_value=75),
sg.Text('效率执行度'),
sg.Slider(range=(1, 100), orientation='v', size=(5, 20), default_value=10),
sg.Column(column1, background_color='#d3dfda')],
[sg.Text('_' * 80)],
[sg.Text('上传附件简历', size=(35, 1))],
[sg.Text('目录', size=(15, 1), auto_size_text=False, justification='right'),
sg.InputText('默认目录'), sg.FolderBrowse('浏览')],
[sg.Submit('确认'), sg.Cancel('取消')]
]
button, values = form.Layout(layout).Read()
sg.Popup(button,values) (python3.0以上不再写成 sg.Msgbox())
效果图:


打包生成的 桌面软件:
制作的界面UI效果有点丑,有兴趣的同学留言可以跟我私下探讨优化下。
PS:注意的是当你设置图标打包时,在源文件里面看不到它改变了,你要把它移动下别的目录,才能看到它时间上是替换图标成功了的。(神奇吧?)
PySimpleGUI 的第一个桌面软件的更多相关文章
- wpf开发桌面软件记录
我的开发环境是win7,vs2013,sql2012,用wpf开发了一个很简单的桌面软件,用Installshield制作的安装包,安装包包含了.framework4.5,在自己电脑上测试正常,想着挺 ...
- 不管服不服 Windows仍是全球第一大桌面系统
不管服不服 Windows仍是全球第一大桌面系统 近日,根据来自市场调研机构 Net Applications 公布的统计数据显示,Windows 依然是世界上排名第一的操作系统,而且未来将很难被打破 ...
- nw.js桌面软件开发系列 第0.1节 HTML5和桌面软件开发的碰撞
第0.1节 HTML5和桌面软件开发的碰撞 当我们谈论桌面软件开发技术的时候,你会想到什么?如果不对技术本身进行更为深入的探讨,在我的世界里,有这么多技术概念可以被罗列出来(请原谅我本质上是一个Win ...
- Atitit 桌面软件跨平台gui解决方案 javafx webview
Atitit 桌面软件跨平台gui解决方案 javafx webview 1.1. 双向js交互1 1.2. 新弹出窗口解决1 1.3. 3.文档对象入口dom解析1 1.4. 所以果断JavaFX, ...
- 《ArcGIS Engine+C#实例开发教程》第一讲桌面GIS应用程序框架的建立
原文:<ArcGIS Engine+C#实例开发教程>第一讲桌面GIS应用程序框架的建立 摘要:本讲主要是使用MapControl.PageLayoutControl.ToolbarCon ...
- github桌面软件使用教程
github桌面软件使用教程 首先 要先安装 桌面版官网,或者百度搜github windows下载即可 可以再github网站上直接点击,把代码添加的桌面软件中 也可以再左上角添加项目,比如actu ...
- 去掉Windows桌面软件的快捷图标的箭头
去掉Windows桌面软件的快捷图标的箭头 怎么去除桌面快捷方式图标箭头 cmd /k reg delete "HKEY_CLASSES_ROOT\lnkfile" /v IsSh ...
- Mac 桌面软件开发基础问答
1> Mac OS X平台下的桌面软件是由什么编程语言处理 答: 由Objective-C, swift编程语言处理 2> Mac OS X平台下的桌面软件是由什么框架构建 答: 由Coc ...
- C# 桌面软件开发-深入学习[2]- AY-C#人爱学不学-aaronyang技术分享
原文:C# 桌面软件开发-深入学习[2]- AY-C#人爱学不学-aaronyang技术分享 1 : C# Assembly.GetEntryAssembly().GetName().Version. ...
随机推荐
- UVALive 6177 The King's Ups and Downs
The King's Ups and Downs Time Limit: 3000ms Memory Limit: 131072KB This problem will be judged on UV ...
- Travel Card
Travel Card time limit per test 2 seconds memory limit per test 256 megabytes input standard input o ...
- 0804关于mysql 索引自动优化机制: 索引选择性(Cardinality:索引基数)
转自http://blog.csdn.net/zheng0518/article/details/50561761 1.两个同样结构的语句一个没有用到索引的问题: 查1到20号的就不用索引,查1到5号 ...
- 【ACM】hdu_1095_A+BVII_201307261740
A+B for Input-Output Practice (VII)Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/327 ...
- [Linux]Apache配置虚拟主机
Apache 配置虚拟主机的方式很多,种类也很多,主要分为两类: 基于名称的虚拟主机 (每个 IP 多个站点) 基于 IP 的虚拟主机 (每个 IP 一个站点) 基于名称的虚拟主机: www.2 ...
- pl/sql developer 布局结构保存
pl/sql developer 布局结构保存 调整了工具栏,调整了窗体框位置,点击 窗口->保存版面 就可以保留当前的调整的结果,不用一次一次调整了: 也可以在工具 -> 首选项 -&g ...
- Dozer--第三方复制工具,哎哟,还不错!
Dozer简单点说,就是拷贝工具,也是复制工具的意思,官方的解释是:Dozer is a Java Bean to Java Bean mapper that recursively copies d ...
- JS禁用微信复制链接、禁用转发
$(function () { function onBridgeReady() { WeixinJSBridge.call('hideOptionMenu'); } if (typeof Weixi ...
- 齐头并进完成任务——Java多线程(一)
多线程(Multithread)指的是在单个进程中同时运行多个不同的线程,执行不同的任务.多线程意味着一个程序的多行语句块并发执行. 一.实现多线程 1.通过继承Thread类实现多线程. Threa ...
- 翻译Beginning iOS 7 Development中文版
不会iOS开发好像真的说只是去,来本中文版的Beginning iOS 7 Development吧. 看了Beginning iOS 7 Development这本书,感觉蛮不错的.全英文的,没有中 ...