最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue3與pywebview實現(xiàn)獲取本地文件夾的絕對路徑

 更新時間:2024年11月05日 09:41:35   作者:lewis_0  
這篇文章主要為大家詳細介紹了Vue3如何結合pywebview實現(xiàn)獲取本地文件夾的絕對路徑,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下

1、Vue端

<template>
  <div>
    <button @click="selectFolder">選擇文件夾</button>
    <button @click="showFolder">顯示文件夾</button>
    <p>{{ folderPath }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      folderPath: ''
    };
  },
  methods: {
    selectFolder() {
      window.pywebview.api.open_folder_dialog().then(path => {
        this.folderPath = path;
        console.log(this.folderPath);
      });
    },
    showFolder() {
      window.pywebview.api.show_folder_dialog().then(path => {
        this.folderPath = path['path_back'];
        console.log(this.folderPath);
      });
    }
  }
};
</script>

2、python端

import webview

class Api:
    def open_folder_dialog(self, window):
    	"""
    	該函數(shù)無用,當時為了測試使用,該函數(shù)的參數(shù)為window,前端傳入的參數(shù)不是window,所以該函數(shù)無效
    	"""
        folder_path = window.create_file_dialog(webview.FOLDER_DIALOG)
        print(folder_path)
        folder_path_str = str(folder_path)
        print(folder_path_str, type(folder_path_str))

    def show_folder_dialog(self):
        folder_path = root_path

        response = {"path_back": folder_path}

        return response

def open_folder_dialog(window):
    global root_path
    folder_path = window.create_file_dialog(webview.FOLDER_DIALOG)
    print(folder_path, type(folder_path))
    root_path = str(folder_path[0])
    print(root_path, type(root_path))


if __name__ == '__main__':
    api = Api()
    window = webview.create_window('Vue app in pywebview', './static/index.html', js_api=api)
    # webview.start(api.show_folder_dialog, window, debug=True)
    webview.start(open_folder_dialog, window, debug=True)

注:這種解決方案只是臨時的一種方案,更好的解決方案暫時未找到,且這種解決方案剛好滿足本人項目需求,如有更好的解決方案,請共同交流,不勝感激。

知識補充

除了上文的內(nèi)容,小編還為大家整理了Vue3結合pywebview實現(xiàn)前后端初步通信的示例代碼,希望對大家有所幫助

pywebview后端

class Api:
    def greet(self, test_text):
        print(test_text)
        return f"hello, {test_text}"


if __name__ == '__main__':
    # 前后端通信測試
    api = Api()
    window = webview.create_window('Vue app in pywebview', './static/index.html', js_api=api)   # vue的build文件的路徑
    webview.start(debug=True)

Vue3前端

<template>
  <div id="app">
    <h1>Greeting Test</h1>
    <button @click="greet">Greet</button>
    <p>{{ greeting }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      greeting: ''
    };
  },
  methods: {
    greet() {
      // 調(diào)用后端API
      if (window.pywebview) {
        window.pywebview.api.greet('Socket test').then(response => {
          this.greeting = response;
          console.log(this.greeting);
        });
      }
    }
  }
};
</script>

<style>
#app {
  text-align: center;
  margin-top: 50px;
}
</style>

到此這篇關于Vue3與pywebview實現(xiàn)獲取本地文件夾的絕對路徑的文章就介紹到這了,更多相關Vue3獲取本地文件夾的絕對路徑內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • vue實現(xiàn)滾動加載的表格

    vue實現(xiàn)滾動加載的表格

    在系統(tǒng)開發(fā)中遇到了這么一個問題:后端一次性返回上百條的數(shù)據(jù),我需要把返回的數(shù)據(jù)全部顯示在表格里,而且甲方爸爸明確指定了表格是不允許使用分頁的??墒钱斒褂胊-table裝載上百條數(shù)據(jù)時,頁面出現(xiàn)了明顯的卡頓現(xiàn)象。只能使用滾動加載的方案來代替了。
    2021-06-06
  • vue項目發(fā)布有緩存正式環(huán)境不更新的解決方案

    vue項目發(fā)布有緩存正式環(huán)境不更新的解決方案

    vue項目每次發(fā)布新版本后,測試人員都要強制刷新才能更新瀏覽器代碼來驗證bug,下面這篇文章主要給大家介紹了關于vue項目發(fā)布有緩存正式環(huán)境不更新的解決方案,需要的朋友可以參考下
    2024-03-03
  • 使用vue-video-player實現(xiàn)直播的方式

    使用vue-video-player實現(xiàn)直播的方式

    在開發(fā)期間使用過video.js、mui-player等插件,發(fā)現(xiàn)這些video插件對移動端的兼容性都不友好,最后發(fā)現(xiàn)一個在移動端兼容不錯的插件vue-video-player,下面通過場景分析給大家介紹使用vue-video-player實現(xiàn)直播的方法,感興趣的朋友一起看看吧
    2022-01-01
  • vue項目兼容IE瀏覽器的教程步驟

    vue項目兼容IE瀏覽器的教程步驟

    Vue的小伙伴們,困擾大家的IE瀏覽器支持Vue的問題,目前已經(jīng)找到了一個比較好的解決方案,下面這篇文章主要給大家介紹了關于vue項目兼容IE瀏覽器的教程步驟,需要的朋友可以參考下
    2023-03-03
  • vue項目部署跨域問題的詳細解決過程

    vue項目部署跨域問題的詳細解決過程

    一般我們的前端Vue項目中都會涉及到跨域的問題,下面這篇文章主要給大家介紹了關于vue項目部署跨域問題的詳細解決過程,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-05-05
  • vue中的?watchEffect、watchAsyncEffect、watchPostEffect的區(qū)別對比分析

    vue中的?watchEffect、watchAsyncEffect、watchPostEffect的區(qū)別對比分析

    在Vue中,watchEffect、watchAsyncEffect 和 watchPostEffect都是用于響應式數(shù)據(jù)監(jiān)聽的API,但它們在執(zhí)行時機和行為上存在重要區(qū)別,接下來通過本文給大家介紹vue中的watchEffect、watchAsyncEffect、watchPostEffect的區(qū)別,感興趣的朋友一起看看吧
    2025-10-10
  • vue中關于computed的this指向問題

    vue中關于computed的this指向問題

    這篇文章主要介紹了vue中關于computed的this指向問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • vue項目中swiper輪播active圖片實現(xiàn)居中并放大

    vue項目中swiper輪播active圖片實現(xiàn)居中并放大

    這篇文章主要介紹了vue項目中swiper輪播active圖片實現(xiàn)居中并放大方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Vue 實時監(jiān)聽窗口變化 windowresize的兩種方法

    Vue 實時監(jiān)聽窗口變化 windowresize的兩種方法

    這篇文章主要介紹了Vue 實時監(jiān)聽窗口變化 windowresize的兩種方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11
  • 詳解使用vue-cli腳手架初始化Vue項目下的項目結構

    詳解使用vue-cli腳手架初始化Vue項目下的項目結構

    這篇文章主要介紹了詳解使用vue-cli腳手架初始化Vue項目下的項目結構,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03

最新評論

黄陵县| 五家渠市| 安图县| 阜新市| 德格县| 儋州市| 安徽省| 上高县| 万载县| 沁阳市| 石渠县| 安仁县| 施甸县| 衡东县| 那坡县| 红原县| 徐闻县| 嘉鱼县| 贵港市| 昭平县| 抚远县| 博乐市| 新蔡县| 安泽县| 广安市| 克山县| 平湖市| 城固县| 灌云县| 镇远县| 都江堰市| 九寨沟县| 瓦房店市| 祥云县| 抚松县| 元谋县| 苏州市| 潮安县| 芜湖县| 东莞市| 峨山|