0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用Flet+Python寫個(gè)美觀的登錄程序

jf_L7xG2ijs ? 來(lái)源:IoT前哨站 ? 2023-05-31 15:43 ? 次閱讀

在Google的推廣下,很多人知道了Flutter在前端的戰(zhàn)斗力。

Flutter是一個(gè)開源的UI工具包,可以用于構(gòu)建跨平臺(tái)的移動(dòng)應(yīng)用程序、Web應(yīng)用程序和桌面應(yīng)用程序。與許多其他跨平臺(tái)解決方案不同,F(xiàn)lutter不使用WebView或本機(jī)UI組件來(lái)實(shí)現(xiàn)跨平臺(tái)的功能,而是使用其自己的設(shè)計(jì)風(fēng)格來(lái)構(gòu)建自定義的用戶界面。

但在Google主推的技術(shù)棧中,Dart是Flutter的主力編程語(yǔ)言。

Dart具有許多現(xiàn)代編程語(yǔ)言的特性,例如靜態(tài)類型檢查、異步編程和擴(kuò)展方法,可以在Flutter中廣泛使用。

如果大家懂Dart當(dāng)然最好,但如果一個(gè)Python開發(fā)者想用Flutter做好看的界面,他要怎么做呢?

Flet就是在Python中構(gòu)建Flutter應(yīng)用最快的方法。

它使開發(fā)人員可以用Python輕松構(gòu)建實(shí)時(shí)網(wǎng)絡(luò),移動(dòng)和桌面應(yīng)用程序,無(wú)需前端經(jīng)驗(yàn)。

教程用Flet+Python創(chuàng)建了現(xiàn)代登錄表單??梢宰尨蠹乙桓QPython在Flet的加持下能有怎樣的發(fā)揮。其中的字段陰影、動(dòng)畫和狀態(tài)控制……都使UI和UX更具吸引力。

b51f1d94-feef-11ed-90ce-dac502259ad0.png

之前的Flet 桌面應(yīng)用程序的架構(gòu)

b524c582-feef-11ed-90ce-dac502259ad0.png

在桌面上運(yùn)行 Flet 程序涉及三個(gè)進(jìn)程協(xié)同工作:

Python runtime()—運(yùn)行 Python 腳本的解釋器。這是從命令行開始的,Python 啟動(dòng) Fletd 服務(wù)器并通過 WebSockets 連接它。(Python3

Fletd server() —用 Go 編寫的 Flet Web 服務(wù)器,偵聽 TCP 端口。Fletd 保存所有用戶會(huì)話的狀態(tài)(對(duì)于桌面應(yīng)用程序,只有一個(gè)會(huì)話),并在 Python 程序和 Flet 客戶端之間調(diào)度頁(yè)面更新和用戶生成的事件。(fletd)

Flet client()—用 Flutter 編寫并在本機(jī)操作系統(tǒng)窗口中顯示 UI 的桌面應(yīng)用程序。Flet 客戶端通過 WebSockets 連接到 Fletd 服務(wù)器。(flet)

新的 Flet 桌面架構(gòu)

Flet桌面應(yīng)用架構(gòu)可以通過用Python編寫的“存根”替換Fletd并通過套接字(Windows)和命名管道(macOS和Linux)與Flet桌面客戶端通信。

b529e224-feef-11ed-90ce-dac502259ad0.png

Flet 移動(dòng)架構(gòu)

移動(dòng)應(yīng)用程序在非常嚴(yán)格的環(huán)境中運(yùn)行,存在許多限制。例如,在 iOS 上,應(yīng)用無(wú)法生成新進(jìn)程。換句話說,F(xiàn)let Flutter應(yīng)用程序不能只是啟動(dòng)“python.exe”并將腳本作為參數(shù)傳遞。

幸運(yùn)的是,Python 可以作為 C 庫(kù)嵌入到另一個(gè)應(yīng)用程序中,而 Dart(編寫 Flutter 應(yīng)用程序的語(yǔ)言)允許通過FFI(外部函數(shù)接口)調(diào)用 C 庫(kù)。

此外,雖然Android允許加載動(dòng)態(tài)鏈接的庫(kù),但iOS需要將所有庫(kù)靜態(tài)鏈接到應(yīng)用程序可執(zhí)行文件中。

Flet 移動(dòng)架構(gòu)如圖所示:

b5339828-feef-11ed-90ce-dac502259ad0.png

Python 運(yùn)行時(shí)將與 Flutter 客戶端應(yīng)用程序靜態(tài)或動(dòng)態(tài)鏈接,并通過 FFI 和命名管道調(diào)用。

不過,在移動(dòng)設(shè)備上運(yùn)行Python會(huì)有一些限制。比如要求使用“純”Python模塊,或?qū)iT為移動(dòng)ARM64架構(gòu)編譯的本機(jī)代碼模塊。

你只需要打開命令行,然后輸入:

pip install flet

就可以擁有這個(gè)精美的前端框架了。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編程語(yǔ)言
    +關(guān)注

    關(guān)注

    10

    文章

    1949

    瀏覽量

    34853
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    37

    文章

    3285

    瀏覽量

    57787
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4801

    瀏覽量

    84885

原文標(biāo)題:用Flet+Python寫個(gè)美觀的登錄程序

文章出處:【微信號(hào):IoT前哨站,微信公眾號(hào):IoT前哨站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Verilog HDL寫個(gè)蜂鳴器小程序

    本帖最后由 starnsky 于 2014-8-8 14:42 編輯 Verilog HDL寫個(gè)CPLD的蜂鳴器控制小程序,實(shí)現(xiàn)對(duì)蜂鳴器響聲次數(shù)的控制,向大家求教了!
    發(fā)表于 08-08 14:40

    Shell或者Python寫個(gè)立體三角形

    本帖最后由 背后的太陽(yáng) 于 2016-10-30 18:20 編輯 各位大神,幫忙Shell或者Python寫個(gè)立體三角形(類似金字塔)拜謝。。。。
    發(fā)表于 10-30 18:18

    labview中用python節(jié)點(diǎn)實(shí)現(xiàn)登錄微信獲取好友列表,登錄怎么掃碼?

    `python節(jié)點(diǎn)對(duì)于單次輸入挺好用的,最近學(xué)習(xí)怎么實(shí)現(xiàn)python登錄微信獲取好友列表等信息,在pythonIDE測(cè)試通過,但labview的python節(jié)點(diǎn)一直微信登不上,大家有試
    發(fā)表于 06-19 12:00

    java登錄系統(tǒng)相關(guān)程序及軟件分享

    java登錄系統(tǒng)相關(guān)程序及軟件分享。
    發(fā)表于 11-16 13:08 ?10次下載

    TensorFlow寫個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)

    這次就用TensorFlow寫個(gè)神經(jīng)網(wǎng)絡(luò),這個(gè)神經(jīng)網(wǎng)絡(luò)寫的很簡(jiǎn)單,就三種層,輸入層--隱藏層----輸出層;
    的頭像 發(fā)表于 03-23 15:37 ?5178次閱讀
    <b class='flag-5'>用</b>TensorFlow<b class='flag-5'>寫個(gè)</b>簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)

    Python可以應(yīng)用的地方有哪些

    現(xiàn)在python已經(jīng)基本成了人工智能的標(biāo)準(zhǔn)語(yǔ)言了,一般都是C/C++寫個(gè)底層運(yùn)算庫(kù),然后用python做腳本。
    發(fā)表于 10-22 15:55 ?1450次閱讀

    Python完成鴻蒙開發(fā)板外設(shè)控制

    )》 然而,這在本質(zhì)上也就只是一件裝酷的事,除了寫個(gè) Hello World 體驗(yàn)資源受限設(shè)備上的 Python 語(yǔ)言程序設(shè)計(jì)之外,基本一無(wú)是處。..。.. 為了實(shí)現(xiàn)最初的夢(mèng)想:通過 Pyth
    的頭像 發(fā)表于 09-28 09:22 ?1808次閱讀

    Python寫SecureCRT批量登錄/巡檢網(wǎng)絡(luò)設(shè)備腳本

    因?yàn)橛屑s200臺(tái)的網(wǎng)絡(luò)設(shè)備需要每天登錄巡檢、查看配置、保存配置、定期更改密碼(每周改一次),如果都手動(dòng)去登錄、配置將是非常耗費(fèi)時(shí)間和人力的,所以就有了整理出腳本的想法。查看了網(wǎng)上大多是VBS編寫的腳本,我對(duì)VBS不熟悉,剛好前段時(shí)間初步學(xué)習(xí)了
    的頭像 發(fā)表于 12-28 09:32 ?4638次閱讀

    Python-寫個(gè)可轉(zhuǎn)債分析器

    Python寫個(gè)可轉(zhuǎn)債分析器
    的頭像 發(fā)表于 02-16 15:13 ?1335次閱讀
    <b class='flag-5'>Python</b>-<b class='flag-5'>寫個(gè)</b>可轉(zhuǎn)債分析器

    Python寫個(gè)小工具網(wǎng)頁(yè)

    簡(jiǎn)簡(jiǎn)單單的 Python 擼一個(gè)計(jì)算年齡的工具網(wǎng)頁(yè),不用對(duì)前端特別熟悉,只要專注于工具的邏輯,其他都交給 Python 吧。
    的頭像 發(fā)表于 03-03 14:52 ?1330次閱讀
    <b class='flag-5'>用</b><b class='flag-5'>Python</b><b class='flag-5'>寫個(gè)</b>小工具網(wǎng)頁(yè)

    如何在Windows下使用 Supervisor 重新拉起崩潰的Python程序

    我們Python定時(shí)跑一些自動(dòng)化程序的時(shí)候會(huì)出現(xiàn)程序崩潰的情況。此時(shí)如果你本人不在電腦面前,或者沒有留意到程序的崩潰,沒有及時(shí)重新拉起
    的頭像 發(fā)表于 10-21 11:23 ?3417次閱讀
    如何在Windows下使用 Supervisor 重新拉起崩潰的<b class='flag-5'>Python</b><b class='flag-5'>程序</b>

    如何快速開發(fā)出功能強(qiáng)大、界面美觀的GUI 應(yīng)用程序

    1. 介紹 Python GUI 常用的 3 種框架是:Tkinter、wxpython、PyQt5 PyQt5 基于 Qt,是 Python 和 Qt 的結(jié)合體,可以 Python
    的頭像 發(fā)表于 11-02 14:45 ?3415次閱讀
    如何快速開發(fā)出功能強(qiáng)大、界面<b class='flag-5'>美觀</b>的GUI 應(yīng)用<b class='flag-5'>程序</b>

    python寫完程序之后怎么運(yùn)行

    Python是一門簡(jiǎn)潔、易學(xué)的編程語(yǔ)言,被廣泛應(yīng)用于數(shù)據(jù)分析、人工智能等領(lǐng)域。在學(xué)習(xí)Python編程的過程中,了解程序的運(yùn)行機(jī)制是至關(guān)重要的。本文將詳盡解析Python
    的頭像 發(fā)表于 11-22 11:10 ?1051次閱讀

    python怎么運(yùn)行程序

    Python是一種廣泛使用的編程語(yǔ)言,它的簡(jiǎn)易和可讀性使得它成為初學(xué)者和專業(yè)開發(fā)人員的首選。在運(yùn)行Python程序之前,您需要安裝Python解釋器,然后按照以下步驟進(jìn)行操作。 步驟1
    的頭像 發(fā)表于 11-24 09:25 ?2583次閱讀

    利用Python腳本登錄到交換機(jī)并創(chuàng)建VLAN

    本文將詳細(xì)介紹如何利用Python腳本登錄到交換機(jī)并創(chuàng)建VLAN。
    的頭像 發(fā)表于 08-12 17:59 ?605次閱讀