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

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

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

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ù)無用,當(dāng)時為了測試使用,該函數(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)

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

知識補(bǔ)充

除了上文的內(nèi)容,小編還為大家整理了Vue3結(jié)合pywebview實(shí)現(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>

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

相關(guān)文章

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

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

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

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

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

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

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

    vue項(xiàng)目兼容IE瀏覽器的教程步驟

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

    vue項(xiàng)目部署跨域問題的詳細(xì)解決過程

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

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

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

    vue中關(guān)于computed的this指向問題

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

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

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

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

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

    詳解使用vue-cli腳手架初始化Vue項(xiàng)目下的項(xiàng)目結(jié)構(gòu)

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

最新評論

甘谷县| 额尔古纳市| 岳西县| 泾阳县| 弋阳县| 建平县| 河津市| SHOW| 繁昌县| 交城县| 岳西县| 页游| 东方市| 尉犁县| 南陵县| 子长县| 凌云县| 芮城县| 濮阳县| 兴安盟| 汉源县| 勃利县| 赤城县| 巴中市| 龙岩市| 策勒县| 盖州市| 泰兴市| 胶州市| 东宁县| 日喀则市| 读书| 古田县| 文昌市| 长岭县| 濉溪县| 资溪县| 江都市| 大厂| 措美县| 金川县|