Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
你好,今天本文將討論如何在python中創(chuàng)建漂亮的UI應(yīng)用程序。我知道這聽(tīng)起來(lái)有點(diǎn)奇怪,因?yàn)槲覀€(gè)人覺(jué)得標(biāo)準(zhǔn)Tkinter庫(kù)不足以開(kāi)發(fā)出令人驚奇的UI。今天,我們將介紹4種在python中創(chuàng)建現(xiàn)代應(yīng)用程序的不同方法,因此,讓我們開(kāi)始,
我們列表中的第一個(gè)方法是針對(duì)那些了解HTML&CSS的開(kāi)發(fā)人員(如果您不知道,那么我也強(qiáng)烈推薦它),并提供javascript的基礎(chǔ)知識(shí)。
基本上,您將使用HTML和CSS開(kāi)發(fā)前端,并用python編寫(xiě)計(jì)算或后端部分。ND鰻魚(yú)充當(dāng)python和javascript之間的橋梁,并傳遞數(shù)據(jù)。
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是一個(gè)UI開(kāi)發(fā)工具,不是用python編寫(xiě)的庫(kù).嗯!我知道你是對(duì)的,但讓我們繼續(xù)讀這篇文章吧。
pip install tkdesigner
用戶只需要使用Figma設(shè)計(jì)一個(gè)接口,然后將Figma文件URL和API令牌粘貼到TkinterDesigner中。TkinterDesigner將自動(dòng)生成在Tkinter中創(chuàng)建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是一個(gè)輕量級(jí)的跨平臺(tái)包裝器,它支持在自己的原生GUI窗口中顯示HTML內(nèi)容的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中開(kāi)發(fā)現(xiàn)代平臺(tái)GUI的一個(gè)很好的庫(kù)。您可以用python編寫(xiě)代碼來(lái)創(chuàng)建應(yīng)用程序,這可能有點(diǎn)困難,但由于我們正在討論最簡(jiǎn)單的方法,您甚至可以使用稱為PyQt5Designer的拖放生成器來(lái)創(chuàng)建GUI。通過(guò)生成一個(gè).ui文件(即拖放程序)來(lái)構(gòu)建應(yīng)用程序是一種很好的方法,然后您可以將這個(gè).ui文件轉(zhuǎn)換為.py文件。
pip install PyQt5Designer
安裝后,設(shè)計(jì)器將安裝在您的系統(tǒng)中。簡(jiǎn)單鍵入designer在您的命令提示符和設(shè)計(jì)器.exe將彈出。它會(huì)看起來(lái)像這樣
現(xiàn)在,您可以在畫(huà)布中拖放元素。在設(shè)計(jì)應(yīng)用程序之后,只需將其導(dǎo)出為.ui文件即可。稍后,您可以將這個(gè).ui文件轉(zhuǎn)換為.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寫(xiě)了一個(gè)簡(jiǎn)單的log分析,主要也就是查詢一些key,value出來(lái),后面也可以根據(jù)需求增加。查詢出來(lái)后,為了好看,搞個(gè)html 表格來(lái)顯示。
需要的組件: jinja2 flask 的模板。
先說(shuō)下設(shè)計(jì)思路,主要是練習(xí)python代碼玩,高手略過(guò)
模擬scrapy,搞個(gè)管線
每個(gè)管線分預(yù)處理,分析器,和后處理。預(yù)處理的話,可以篩選下數(shù)據(jù),分析器提取關(guān)鍵信息,然后把結(jié)果丟給后處理。html報(bào)表就是在后處理生成。
再搞個(gè)manger類,管理很多個(gè)管線,雖然現(xiàn)在單路pipeLine就完成了,說(shuō)不定以后還能擴(kuò)展呢。
我們可以定義預(yù)處理,比如過(guò)濾一些不關(guān)注的關(guān)鍵字,或者關(guān)注一些特定關(guān)鍵字的行
預(yù)處理的話,只處理QtiDCT-C關(guān)鍵字的日志行。
然后把經(jīng)過(guò)預(yù)處理后的數(shù)據(jù)丟給分析器
主要查詢行數(shù)據(jù)行里面是否有keyword,然后根據(jù)分隔符,和結(jié)束符來(lái)提取內(nèi)容
keyword delimiter xxxxxendwith 這樣個(gè)模式
獲取最終結(jié)果存儲(chǔ)到字典里面 result[keyword]=xxxx。這里會(huì)trim,去掉 \r\n.
這樣就有了結(jié)果集result.最后丟給posthandler 后處理。完成報(bào)表輸出。
后處理主要是用jinja2的模板,然后傳遞參數(shù),生成最終的html文件。
這里的jinja_template.temple, 內(nèi)容如下
有了模板,就可以在渲染模板的時(shí)候提供字典,變量,在模板里面顯示。最終完成報(bào)表的輸出。
最終使用
最終在main 方法中,通過(guò)-d參數(shù)傳入log所在目錄,然后迭代所有的文件,使用input 把文本文件轉(zhuǎn)換成行數(shù)據(jù)的list,丟給管線,最后把管線丟給manager,調(diào)用process ,完成txt日志的分析,到最后html的生產(chǎn)。
TML 表單用于收集不同類型的用戶輸入,它是一個(gè)包含表單元素的區(qū)域。
表單元素是允許用戶在表單中輸入內(nèi)容,比如:文本域(textarea)、下拉列表、單選框(radio-buttons)、復(fù)選框(checkboxes)等等。今天我們主要來(lái)說(shuō)說(shuō)文本域和密碼域這兩個(gè)部分,希望對(duì)大家學(xué)習(xí)有所幫助喲!
本文福利后臺(tái)回復(fù)【學(xué)習(xí)】即可獲得Python、HTML等編程學(xué)習(xí)資料
HTML 表單
表單使用表單標(biāo)簽 <form> 來(lái)設(shè)置:
<form>
First name: <input type="text" name="firstname"><br>
Last name: <input type="text" name="lastname">
</form>
HTML 表單 - 輸入元素
多數(shù)情況下被用到的表單標(biāo)簽是輸入標(biāo)簽(<input>)。輸入類型是由類型屬性(type)定義的。
如何在 HTML 頁(yè)面創(chuàng)建文本域?
用戶可以在文本域中寫(xiě)入文本,參考代碼如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鳥(niǎo)教程(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> 表單本身是不可見(jiàn)的。并且注意一個(gè)文本字段的默認(rèn)寬度是20個(gè)字符。</p>
</body>
</html>
運(yùn)行結(jié)果為
如何創(chuàng)建 HTML 的密碼域?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鳥(niǎo)教程(runoob.com)</title>
</head>
<body>
<form action="">
Username: <input type="text" name="user"><br>
Password: <input type="password" name="password">
</form>
<p><b>注意:</b> 密碼字段中的字符是隱藏的(顯示為星號(hào)或圓圈)。</p>
</body>
</html>
運(yùn)行結(jié)果如下
戳了解更多免費(fèi)領(lǐng)取HTML試聽(tīng)課~
*請(qǐng)認(rèn)真填寫(xiě)需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。