如何使用Python编写一个桌面软件系统?步骤有哪些

电子说

1.3w人已加入

描述

建议直接用python编写一个网页服务器,然后就在本机用浏览器来使用。

简单介绍一下这样做的好处:

【1】python的桌面GUI模块都不太好用,比如pyQT需要额外安装很大的QT,tkinter则相关文档很少,而且对新的控件支持不太好,远不能和html5+css3搭配起来构建的多姿多彩的用户界面相比;

【2】任何单纯的桌面程序都需要安装,变成网页服务器后,依然可以拿到客户机来安装,更好的是可以在服务器安装后,所有客户端都可以联机到服务器进行访问,这样软件的升级就无需重新一一部署;

基于上面的原因,还是建议用web server的方式。

下面简单介绍采用flask来编写一个简单的程序:把英尺转换为米:1英尺 = 0.3048米。

首先是服务器端代码:server.py

import flask as fkapp = fk.Flask(__name__)@app.route(“/”, methods=[“GET”, “POST”])def index(): if fk.request.method == “POST”: feet = float(fk.request.form[‘entry_feet’]) meters = feet * 0.3048 return fk.render_template(“index.html”, meters=meters, feet=feet) else: return fk.render_template(“index.html”, meters=0.3048, feet=1)if __name__ == “__main__”: app.run(host=“0.0.0.0”, debug=True)

接下来是模板文件index.html,注意该文件在server.py所在目录的templates目录下:

《!DOCTYPE html》《html lang=“en”》《head》 《meta charset=“UTF-8”》 《title》feet to meter《/title》 《link rel=“stylesheet” href=“https://cdn.bootcss.com/bootstrap/4.0.0/css/bootstrap.min.css” integrity=“sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm” crossorigin=“anonymous”》《/head》《body》 《form action=“/” method=“post” class=“form”》 《div class=“card” style=“width: 24rem;”》 《div class=“card-body”》 《h5 class=“card-title”》Feet to Meters《/h5》《hr》 《label for=“input_feet”》输入:《/label》 《input type=“text” id=“input_feet” name=“entry_feet” value={{feet}} class=“form-control”/》 《label》英尺《/label》 《label 》--》《/label》 《input type=“text” id=“output_meters” value={{meters}} class=“form-control” readonly/》 《label 》米《/label》 《hr》 《button type=“submit” class=“btn btn-primary btn-block”》转换《/button》 《/div》 《/div》 《/form》《/body》《/html》

在命令行下运行: python server.py

然后在浏览器(本机的话)输入地址:http://localhost:5000/,

下面是效果:

《img src=“https://pic4.zhimg.com/v2-34baccc98de71156b3f6bc4f57c6c481_b.jpg” data-caption=“” data-size=“normal” data-rawwidth=“578” data-rawheight=“516” data-default-watermark-src=“https://pic3.zhimg.com/v2-58b9effab00eaa45fe3939db4450ba26_b.jpg” class=“origin_image zh-lightbox-thumb” width=“578” data-original=“https://pic4.zhimg.com/v2-34baccc98de71156b3f6bc4f57c6c481_r.jpg”》

服务器

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分