11 月初,我看到了 Rio (https://rio.dev) 的發佈公告,這是一個即將推出的用於創建用戶界面的 Python 庫。我擁有多年使用 Qt 和 Python 的經驗,並且總是對新方法感興趣。
我瀏覽了井字遊戲教學並發現了很多我喜歡的東西。最初,使用元件類別編寫介面的簡單性給我留下了深刻的印象。該介面透過一個HTML文件運行,該文件被庫完全封裝。這為 Rio 應用程式的運作方式和位置提供了多種可能性。 Rio 可以選擇包含一個獨立的 Webview 應用程式。然而,我非常不喜歡附帶的 rio 命令列工具及其創建的初始專案結構。
我認為 Rio 值得一個更輕量級的教程,剝離樣板和抽像以展示這個庫的潛力。讓我們從零開始,了解 Rio 是如何為自己打造它的。我發現開始使用 uv 正如我所希望的那樣簡單。
uv init minirio --no-readme --no-pin-python --vcs none cd minirio uv add rio-ui[window]
可選的[window]功能安裝運行獨立應用程式所需的許多相依性。另請注意,由於缺少 pyside 構建,我需要在 Windows 上使用 ==9.3。
讓我們使用建立此應用程式所需的最少程式碼。
import rio class Greeting(rio.Component): name: str = 'World' def build(self): return rio.Row( rio.Icon('material/star', align_x=0.8, align_y=0.5), rio.Markdown(f'Hello, **{self.name}**', align_y=0.5), ) if __name__ == '__main__': app = rio.App(build=Greeting) app.run_in_window()
這是一個常規的 Python 腳本。使用 python 解釋器運行它。
uv run hello.py
元件只不過是一個傳回元件和類別上定義的狀態的建構方法。您沒有定義 __init__ 或其他典型的樣板檔案。您可以將 run_in_window 替換為 run_as_web_server 並在瀏覽器中與此應用程式互動。
加入一些互動性只需很少的時間。這是一個類似的元件,添加了複選框和樣式。
漸層 = rio.LinearGradientFill( (rio.Color.RED, 0), (rio.Color.PINK, .3), ) 類別 Greeting2(rio.Component): 檢查:布爾=假 def 建置(自身): style = rio.TextStyle(fill=gradient) if self.checked else 'text' 返回 rio.Row( rio.Checkbox(is_on=self.bind().checked), rio.Text('玫瑰是紅色的。',> <p>這是使用 self.bind() 在複選框狀態和屬性之間建立雙向綁定。或者,可以直接將複選框的 on_change 參數指派給任何方法並根據需要更改 self 的屬性。 </p> <p><img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173599336588947.jpg?x-oss-process=image/resize,p_40" class="lazy" alt="Minimal Rio Intro"></p> <p>在 Rio 專案網站上尋找更完整的範例和文件。就我個人而言,我還沒有準備好離開 Qt 和 Pyside 的世界,但我也認為 Rio 有足夠多的東西值得關注。 </p>
- https://rio.dev/examples
- https://rio.dev/docs
- https://github.com/rio-labs/rio
以上是最小裡約簡介的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python列表切片的基本語法是list[start:stop:step]。 1.start是包含的第一個元素索引,2.stop是排除的第一個元素索引,3.step決定元素之間的步長。切片不僅用於提取數據,還可以修改和反轉列表。

ListSoutPerformarRaysin:1)DynamicsizicsizingandFrequentInsertions/刪除,2)儲存的二聚體和3)MemoryFeliceFiceForceforseforsparsedata,butmayhaveslightperformancecostsinclentoperations。

toConvertapythonarraytoalist,usEthelist()constructororageneratorexpression.1)intimpthearraymoduleandcreateanArray.2)USELIST(ARR)或[XFORXINARR] to ConconverTittoalist,請考慮performorefformanceandmemoryfformanceandmemoryfformienceforlargedAtasetset。

choosearraysoverlistsinpythonforbetterperformanceandmemoryfliceSpecificScenarios.1)largenumericaldatasets:arraysreducememoryusage.2)績效 - 臨界雜貨:arraysoffersoffersOffersOffersOffersPoostSfoostSforsssfortasssfortaskslikeappensearch orearch.3)testessenforcety:arraysenforce:arraysenforc

在Python中,可以使用for循環、enumerate和列表推導式遍歷列表;在Java中,可以使用傳統for循環和增強for循環遍歷數組。 1.Python列表遍歷方法包括:for循環、enumerate和列表推導式。 2.Java數組遍歷方法包括:傳統for循環和增強for循環。

本文討論了版本3.10中介紹的Python的新“匹配”語句,該語句與其他語言相同。它增強了代碼的可讀性,並為傳統的if-elif-el提供了性能優勢

Python中的功能註釋將元數據添加到函數中,以進行類型檢查,文檔和IDE支持。它們增強了代碼的可讀性,維護,並且在API開發,數據科學和圖書館創建中至關重要。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Dreamweaver CS6
視覺化網頁開發工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。