首页 > > > 用Python编写一个桌面软件系统的步骤是什么?
作者:dc lin
链接:https://www.zhihu.com/question/338453063/answer/773655748
建议直接用python编写一个网页服务器,然后就在本机用浏览器来使用。
简单介绍一下这样做的好处:
【1】python的桌面GUI模块都不太好用,比如pyQT需要额外安装很大的QT,tkinter则相关文档很少,而且对新的控件支持不太好,远不能和html5+css3搭配起来构建的多姿多彩的用户界面相比;
【2】任何单纯的桌面程序都需要安装,变成网页服务器后,依然可以拿到客户机来安装,更好的是可以在服务器安装后,所有客户端都可以联机到服务器进行访问,这样软件的升级就无需重新一一部署;
基于上面的原因,还是建议用web server的方式。
下面简单介绍采用flask来编写一个简单的程序:把英尺转换为米:1英尺 = 0.3048米。
首先是服务器端代码:server.py
import flask as fk
app = 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">
daredevil爱科技
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4729/viewspace-3131586/ ,如需转载,请注明出处,否则将追究法律责任。