當運用桌面應用程序時,有沒有有一瞬間,想學習下桌面應用程序開發設計?接下來本文關鍵為大家介紹了有關Python使用pywebview開發設計桌面應用的資料,必須的小伙伴可以借鑒一下
序言
平時用過Eel做出來的桌面應用感覺就已經夠屌了,不過因為Eel是啟用Chrome,常常出現一些小事情,例如窗口大小設定后有時不起作用,右鍵新建菜單沒法禁止使用(一眼就能看出來就是一個web).并且試了用pyinstaller裝包后文檔很大,昨晚游逛就發現了這個比Eel更強解決方案pywebview,更輕巧,可自定設置大量.因為pywebview是可以直接啟用系統軟件本身瀏覽器(Win10啟用Edge,Win7啟用IE),因而非常適合裝包公布.官方網站:pywebview.flowrl.com/
非常簡單運用入門
先裝好車輪子
pipinstallpywebview
完成一種內嵌式百度主頁的winform程序流程,固定不動窗口大小,嚴禁挑選文本
""" main.py """ importwebview window=webview.create_window( title='搜一下,都是廣告宣傳', url='http://www.baidu.com', width=850, height=600, resizable=False,#固定不動窗口大小 text_select=False,#嚴禁挑選文字部分 confirm_close=True#關掉時提醒 ) webview.start()
不管是打開速度,或是屏幕清晰度都比Eel好許多.撤出提醒的對話框默認設置可以看到英語,還可以本土化一下下,界定個詞典發送給webview.start()當啟動參數就可以了.
chinese={ 'global.quitConfirmation':u'確定關閉?', } webview.start(localization=chinese)
高級運用
在HTML前端界面中啟用Python里的函數公式
Http是由Flask所提供的,直接把Flask實例化對象app發送給url主要參數就可以了
importwebview fromflaskimportFlask,render_template #創建對象flask目標 app=Flask(__name__) #界定路由器3D渲染模版 app.route('/') defindex(): returnrender_template('/index.html') #配備pywebview關掉提醒的英文翻譯 chinese={ 'global.quitConfirmation':u'確定關閉?', } #發送給前面的api目標,界定了這個能通過js調用撤出現階段運用的函數公式 classApi: def__init__(self)->None: self._window=None defset_window(self,window): self._window=window defquit(self): self._window.destroy() if__name__=='__main__': #創建對象Api類 api=Api() window=webview.create_window( title='我是文章標題', url=app, fullscreen=True,#以全屏模式運行 #width=760,#自定窗口大小 #height=390, #resizable=False,#固定不動窗口大小 text_select=False,#嚴禁挑選文字部分 confirm_close=True,#關掉時提醒 js_api=api#將上面創建對象后的Api目標發送給前端js啟用 ) #--劃重點--務必記得需要將上面創建的window目標再通過函數公式發送給創建對象后的api目標 api.set_window(window) #啟動程序 webview.start(localization=chinese)
前面寫一個id為exit的button,jquery給它綁定個點擊的事件來調用api函數公式方法,注意這里的pywebview.api是在pywebview的運用啟動后自動注入到現階段瀏覽器窗口里的全局對象,python中所寫的函數公式就綁定在它接下來.
$("#exit").click(function(){ pywebview.api.quit(); })
裝包成單個EXE文檔
以前用pyinstaller手工制作裝包太費勁了,發覺個圖形界面配置pyinstaller開展裝包的一種手段:auto-py-to-exe,用pip裝一下下,之后就可以自動運行了
pipinstallauto-py-to-exe #運行專用工具 auto-py-to-exe
這專用工具竟然是用eel所寫的,嘿嘿...
建議使用單文件目錄形式進行裝包,單文件得話可能對編程代碼所涉及到的到途徑提及的地區出問題,坑有些大,不建議使用.
需注意需在附件格式一塊兒設定里將flask涉及的模版,靜態文件,還有其他的例如sqlite數數據庫文檔都加入進去了
判定網頁頁面中pywebview.api目標是不是載入取得成功
現在又寫了個小應用,啟用的當地的html文件,希望在網頁頁面開啟時直接調用pywebview.api中關系的python函數,但由于頁面上立即用js瀏覽pywebview.api目標的話就會出錯找不到男朋友,又翻了一下官方文檔,發覺應該給window對象添加個事情監視pywebviewready,實例編碼:
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129082.html
當運用桌面應用程序時,有沒有有一瞬間,想學習下桌面應用程序開發設計?接下來本文關鍵為大家介紹了有關Python使用pywebview開發設計桌面應用的資料,必須的小伙伴可以借鑒一下 序言 平時用過Eel做出來的桌面應用感覺就已經夠屌了,不過因為Eel是啟用Chrome,常常出現一些小毛病,例如窗口大小設定后有的時候不起作用,右鍵新建菜單沒法禁止使用(一眼就能看出來是一個web).并且試了用...
摘要:首先很遺憾的一點是,雖然是最好的語言,但是它不是最流行的語言。屬于配置比較高的硬件,而低配的呢三星設計了引擎,它能夠運行在小于內存上,且全部代碼能夠存儲在不足的只讀存儲上。你覺得還能做什么 首先很遺憾的一點是,PHP雖然是最好的語言,但是它不是最流行的語言。showImg(https://segmentfault.com/img/bVvqTs);同時對不起的還有剛剛在4月TIOBE編程...
摘要:首先很遺憾的一點是,雖然是最好的語言,但是它不是最流行的語言。屬于配置比較高的硬件,而低配的呢三星設計了引擎,它能夠運行在小于內存上,且全部代碼能夠存儲在不足的只讀存儲上。你覺得還能做什么 首先很遺憾的一點是,PHP雖然是最好的語言,但是它不是最流行的語言。showImg(https://segmentfault.com/img/bVvqTs);同時對不起的還有剛剛在4月TIOBE編程...
閱讀 911·2023-01-14 11:38
閱讀 878·2023-01-14 11:04
閱讀 740·2023-01-14 10:48
閱讀 1982·2023-01-14 10:34
閱讀 942·2023-01-14 10:24
閱讀 819·2023-01-14 10:18
閱讀 499·2023-01-14 10:09
閱讀 572·2023-01-14 10:02