你好,今天本文将讨论如何在python中创建漂亮的UI应用程序。我知道这听起来有点奇怪,因为我个人觉得标准Tkinter库不足以开发出令人惊奇的UI。今天,我们将介绍4种在python中创建现代应用程序的不同方法,因此,让我们开始,
我们列表中的第一个方法是针对那些了解HTML&CSS的开发人员(如果您不知道,那么我也强烈推荐它),并提供javascript的基础知识。
基本上,您将使用HTML和CSS开发前端,并用python编写计算或后端部分。ND鳗鱼充当python和javascript之间的桥梁,并传递数据。
pip install Eel
└── Folder
├── templates
| ├── index.html
| ├── main.js
| └── style.css
└── main.py
import eel
# name of folder where the html, css, js, image files are located
eel.init('templates')
@eel.expose
def demo(x):
return x**2
# 1000 is width of window and 600 is the height
eel.start('index.html', size=(1000, 600))
function compute() {
var data = document.getElementById("data").value
eel.demo(data)(setValue) // call the demo function which we have created in the main.py file
}
function setValue(res) {
document.getElementById("abc").src = res
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>sample</title>
<link href="style.css" rel="stylesheet">
<script type="text/javascript" src="/eel.js"></script
<script type="text/javascript" src="main.js"></script>
</head>
<body>
<!--
have to call compute() from here for example when user clicks any button or something like that.
-->
</body>
</html>
<https://github.com/ChrisKnott/Eel>
好吧,你一定在想Figma和python之间的组合是什么?Figma是一个UI开发工具,不是用python编写的库.嗯!我知道你是对的,但让我们继续读这篇文章吧。
pip install tkdesigner
用户只需要使用Figma设计一个接口,然后将Figma文件URL和API令牌粘贴到TkinterDesigner中。TkinterDesigner将自动生成在Tkinter中创建GUI所需的所有代码和图像。
For complete procedure do watch [this](https://www.youtube.com/watch?v=mFjE2-rbpm8&t=66s&ab_channel=Parthjadhav) video on youtube from Parth Jadhav
https://github.com/ParthJadhav/Tkinter-Designer
Pywebview是一个轻量级的跨平台包装器,它支持在自己的原生GUI窗口中显示HTML内容的webview组件。Pywebview是由罗曼·西罗科夫 .
pip install pywebview
import webview
if __name__ == '__main__':
window = webview.create_window('Load HTML Example', 'index.html')
webview.start(window)
https://github.com/r0x0r/pywebview/
PyQt是在python中开发现代平台GUI的一个很好的库。您可以用python编写代码来创建应用程序,这可能有点困难,但由于我们正在讨论最简单的方法,您甚至可以使用称为PyQt5Designer的拖放生成器来创建GUI。通过生成一个.ui文件(即拖放程序)来构建应用程序是一种很好的方法,然后您可以将这个.ui文件转换为.py文件。
pip install PyQt5Designer
安装后,设计器将安装在您的系统中。简单键入designer在您的命令提示符和设计器.exe将弹出。它会看起来像这样
现在,您可以在画布中拖放元素。在设计应用程序之后,只需将其导出为.ui文件即可。稍后,您可以将这个.ui文件转换为.py文件,
pyuic5 -x [NAME_OF_UI_FILE].ui [NAME_OF_PY_FILE].py
原文 Https://dev.to/yash_makan/4-ways-to-create-modern-gui-in-python-in-easiest-way-possible-5e0e
提:
用python写了一个简单的log分析,主要也就是查询一些key,value出来,后面也可以根据需求增加。查询出来后,为了好看,搞个html 表格来显示。
需要的组件: jinja2 flask 的模板。
先说下设计思路,主要是练习python代码玩,高手略过
模拟scrapy,搞个管线
每个管线分预处理,分析器,和后处理。预处理的话,可以筛选下数据,分析器提取关键信息,然后把结果丢给后处理。html报表就是在后处理生成。
再搞个manger类,管理很多个管线,虽然现在单路pipeLine就完成了,说不定以后还能扩展呢。
我们可以定义预处理,比如过滤一些不关注的关键字,或者关注一些特定关键字的行
预处理的话,只处理QtiDCT-C关键字的日志行。
然后把经过预处理后的数据丢给分析器
主要查询行数据行里面是否有keyword,然后根据分隔符,和结束符来提取内容
keyword delimiter xxxxxendwith 这样个模式
获取最终结果存储到字典里面 result[keyword]=xxxx。这里会trim,去掉 \r\n.
这样就有了结果集result.最后丢给posthandler 后处理。完成报表输出。
后处理主要是用jinja2的模板,然后传递参数,生成最终的html文件。
这里的jinja_template.temple, 内容如下
有了模板,就可以在渲染模板的时候提供字典,变量,在模板里面显示。最终完成报表的输出。
最终使用
最终在main 方法中,通过-d参数传入log所在目录,然后迭代所有的文件,使用input 把文本文件转换成行数据的list,丢给管线,最后把管线丢给manager,调用process ,完成txt日志的分析,到最后html的生产。
TML 表单用于收集不同类型的用户输入,它是一个包含表单元素的区域。
表单元素是允许用户在表单中输入内容,比如:文本域(textarea)、下拉列表、单选框(radio-buttons)、复选框(checkboxes)等等。今天我们主要来说说文本域和密码域这两个部分,希望对大家学习有所帮助哟!
本文福利后台回复【学习】即可获得Python、HTML等编程学习资料
HTML 表单
表单使用表单标签 <form> 来设置:
<form>
First name: <input type="text" name="firstname"><br>
Last name: <input type="text" name="lastname">
</form>
HTML 表单 - 输入元素
多数情况下被用到的表单标签是输入标签(<input>)。输入类型是由类型属性(type)定义的。
如何在 HTML 页面创建文本域?
用户可以在文本域中写入文本,参考代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<form action="">
First name: <input type="text" name="firstname"><br>
Last name: <input type="text" name="lastname">
</form>
<p><b>注意:</b> 表单本身是不可见的。并且注意一个文本字段的默认宽度是20个字符。</p>
</body>
</html>
运行结果为
如何创建 HTML 的密码域?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<form action="">
Username: <input type="text" name="user"><br>
Password: <input type="password" name="password">
</form>
<p><b>注意:</b> 密码字段中的字符是隐藏的(显示为星号或圆圈)。</p>
</body>
</html>
运行结果如下
戳了解更多免费领取HTML试听课~
*请认真填写需求信息,我们会在24小时内与您取得联系。