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

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

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

用Flet+Python寫個美觀的登錄程序

jf_L7xG2ijs ? 來源:IoT前哨站 ? 2023-05-31 15:43 ? 次閱讀

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

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

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

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

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

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

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

教程用Flet+Python創(chuàng)建了現(xiàn)代登錄表單。可以讓大家一窺Python在Flet的加持下能有怎樣的發(fā)揮。其中的字段陰影、動畫和狀態(tài)控制……都使UI和UX更具吸引力。

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

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

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

在桌面上運行 Flet 程序涉及三個進程協(xié)同工作:

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

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

Flet client()—用 Flutter 編寫并在本機操作系統(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 移動架構(gòu)

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

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

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

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

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

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

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

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

pip install flet

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

審核編輯 :李倩

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

    關(guān)注

    10

    文章

    1921

    瀏覽量

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

    關(guān)注

    37

    文章

    3223

    瀏覽量

    57503
  • python
    +關(guān)注

    關(guān)注

    54

    文章

    4758

    瀏覽量

    84289

原文標題:用Flet+Python寫個美觀的登錄程序

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

收藏 人收藏

    評論

    相關(guān)推薦

    Verilog HDL寫個蜂鳴器小程序

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

    Shell或者Python寫個立體三角形

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    python寫完程序之后怎么運行

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

    python怎么運行程序

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

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

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