亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Python使用pywebview開發(fā)設(shè)計桌面應(yīng)用的全流程

89542767 / 3094人閱讀

  當運用桌面應(yīng)用程序時,有沒有有一瞬間,想學(xué)習(xí)下桌面應(yīng)用程序開發(fā)設(shè)計?接下來本文關(guān)鍵為大家介紹了有關(guān)Python使用pywebview開發(fā)設(shè)計桌面應(yīng)用的資料,必須的小伙伴可以借鑒一下


  序言


  平時用過Eel做出來的桌面應(yīng)用感覺就已經(jīng)夠?qū)帕?不過因為Eel是啟用Chrome,常常出現(xiàn)一些小毛病,例如窗口大小設(shè)定后有的時候不起作用,右鍵新建菜單沒法禁止使用(一眼就能看出來是一個web).并且試了用pyinstaller裝包后文檔很大,昨晚游逛就發(fā)現(xiàn)了一個比Eel更強解決方案pywebview,更輕巧,可自己設(shè)計設(shè)置大量.由于pywebview是可以直接啟用系統(tǒng)軟件本身瀏覽器(Win10啟用Edge,Win7啟用IE),因而非常適合裝包公布.官方網(wǎng)站:pywebview.flowrl.com/


  非常簡單運用入門


  先安上車輪子

  pipinstallpywebview


  完成1個嵌入百度主頁的winform程序流程,固定不動窗口大小,嚴禁挑選文本


  """
  main.py
  """
  importwebview
  window=webview.create_window(
  title='百度一下,全是廣告',
  url='http://www.baidu.com',
  width=850,
  height=600,
  resizable=False,#固定不動窗口大小
  text_select=False,#嚴禁挑選文字內(nèi)容
  confirm_close=True#關(guān)閉時提醒
  )
  webview.start()

01.png

  不論是打開速度,或是屏幕清晰度都會比Eel好許多.撤出提醒的對話框默認設(shè)置可以看到英語,能夠本土化一下下,界定個詞典發(fā)送給webview.start()當啟動參數(shù)就可以了.


  chinese={
  'global.quitConfirmation':u'確定關(guān)閉?',
  }
  webview.start(localization=chinese)

02.png

  高級運用


  在HTML前端界面中啟用Python中的函數(shù)公式


  Http是由Flask所提供的,直接把Flask實例化對象app發(fā)送給url主要參數(shù)就可以了


  importwebview
  fromflaskimportFlask,render_template
  #創(chuàng)建對象flask目標
  app=Flask(__name__)
  #界定路由渲染模版
  app.route('/')
  defindex():
  returnrender_template('/index.html')
  #配置pywebview關(guān)閉提醒的中文翻譯
  chinese={
  'global.quitConfirmation':u'確定關(guān)閉?',
  }
  #發(fā)送給前面的api目標,界定了一個可以通過js調(diào)用撤出現(xiàn)階段應(yīng)用的函數(shù)公式
  classApi:
  def__init__(self)->None:
  self._window=None
  defset_window(self,window):
  self._window=window
  defquit(self):
  self._window.destroy()
  if__name__=='__main__':
  #創(chuàng)建對象Api類
  api=Api()
  window=webview.create_window(
  title='我是一個標題',
  url=app,
  fullscreen=True,#以全屏模式啟動
  #width=760,#自己設(shè)計窗口大小
  #height=390,
  #resizable=False,#固定不動窗口大小
  text_select=False,#嚴禁挑選文字內(nèi)容
  confirm_close=True,#關(guān)閉時提醒
  js_api=api#將上邊創(chuàng)建對象后的Api目標發(fā)送給前端js啟用
  )
  #--敲重點--盡量還記得需要把上邊建立的window目標然后通過函數(shù)公式發(fā)送給創(chuàng)建對象后的api目標
  api.set_window(window)
  #啟動程序
  webview.start(localization=chinese)


  前面寫一個id為exit的button,jquery給他關(guān)聯(lián)綁定個點一下事件來調(diào)節(jié)用api函數(shù)公式方式,留意這兒的pywebview.api是在pywebview的運用啟動時全自動引入到現(xiàn)階段瀏覽器窗口中的全局對象,python中所寫的函數(shù)公式就關(guān)聯(lián)綁定在它接下來.


  $("#exit").click(function(){
  pywebview.api.quit();
  })
  裝包成多帶帶EXE文檔
  前用pyinstaller手工制作裝包太費勁了,發(fā)覺個圖形界面配置pyinstaller開展裝包的一種手段:auto-py-to-exe,用pip裝一下下,之后就可以自動運行了
  pipinstallauto-py-to-exe
  #啟動專用工具
  auto-py-to-exe


  這專用工具竟然是用eel所寫的,嘿嘿...


  建議使用單文件目錄形式進行裝包,單文件得話可能對編程代碼所涉及到的到途徑提及的地區(qū)出問題,坑有些大,不建議使用.


  需注意需在附件格式一塊兒設(shè)定里將flask涉及的模版,靜態(tài)文件,還有其他的例如sqlite數(shù)數(shù)據(jù)庫文檔都加入進去了


  分辨網(wǎng)頁頁面中pywebview.api目標是不是載入取得成功


  現(xiàn)在又寫了個小應(yīng)用,啟用的當?shù)氐膆tml文件,希望在網(wǎng)頁頁面開啟的時候就可以調(diào)用pywebview.api中關(guān)系的python函數(shù),但由于頁面上立即用js瀏覽pywebview.api目標的話就會出錯找不到男朋友,又翻了一下官方文檔,發(fā)覺應(yīng)該給window對象添加個事情監(jiān)視pywebviewready,實例編碼:


  <script>
  window.addEventListener('pywebviewready',function(){
  pywebview.api.hl('aaa').then(function(res){
  document.querySelector('#hl').textContent=res.rate
  })
  })
  </script>

03.png

  綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)韼椭?/p>

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/129073.html

相關(guān)文章

  • Python使用pywebview開發(fā)設(shè)計桌面應(yīng)用的全流程

      當運用桌面應(yīng)用程序時,有沒有有一瞬間,想學(xué)習(xí)下桌面應(yīng)用程序開發(fā)設(shè)計?接下來本文關(guān)鍵為大家介紹了有關(guān)Python使用pywebview開發(fā)設(shè)計桌面應(yīng)用的資料,必須的小伙伴可以借鑒一下  序言  平時用過Eel做出來的桌面應(yīng)用感覺就已經(jīng)夠?qū)帕?不過因為Eel是啟用Chrome,常常出現(xiàn)一些小事情,例如窗口大小設(shè)定后有時不起作用,右鍵新建菜單沒法禁止使用(一眼就能看出來就是一個web).并且試了用p...

    89542767 評論0 收藏0
  • 最流行的編程語言 JavaScript 能做什么?

    摘要:首先很遺憾的一點是,雖然是最好的語言,但是它不是最流行的語言。屬于配置比較高的硬件,而低配的呢三星設(shè)計了引擎,它能夠運行在小于內(nèi)存上,且全部代碼能夠存儲在不足的只讀存儲上。你覺得還能做什么 首先很遺憾的一點是,PHP雖然是最好的語言,但是它不是最流行的語言。showImg(https://segmentfault.com/img/bVvqTs);同時對不起的還有剛剛在4月TIOBE編程...

    褰辯話 評論0 收藏0
  • 最流行的編程語言 JavaScript 能做什么?

    摘要:首先很遺憾的一點是,雖然是最好的語言,但是它不是最流行的語言。屬于配置比較高的硬件,而低配的呢三星設(shè)計了引擎,它能夠運行在小于內(nèi)存上,且全部代碼能夠存儲在不足的只讀存儲上。你覺得還能做什么 首先很遺憾的一點是,PHP雖然是最好的語言,但是它不是最流行的語言。showImg(https://segmentfault.com/img/bVvqTs);同時對不起的還有剛剛在4月TIOBE編程...

    Alan 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<