【发布时间】:2022-11-08 19:34:13
【问题描述】:
如何在 flet-python 中打开文件对话框以检索文件路径?我尝试使用其他库(tkinter 创建一个新的事件循环,easygui 将窗口扔到所有其他窗口的后面,wx 也需要创建一个循环)。
我只需要这样,打开一个文件对话框,选择文件和返回所选路径的函数。我正在使用 flet-python,所以如果库中有可用的解决方案,那将是完美的。谢谢你。
【问题讨论】:
标签: python-flet
如何在 flet-python 中打开文件对话框以检索文件路径?我尝试使用其他库(tkinter 创建一个新的事件循环,easygui 将窗口扔到所有其他窗口的后面,wx 也需要创建一个循环)。
我只需要这样,打开一个文件对话框,选择文件和返回所选路径的函数。我正在使用 flet-python,所以如果库中有可用的解决方案,那将是完美的。谢谢你。
【问题讨论】:
标签: python-flet
FLET Filepicker 有很多文档。
我认为这段代码可以帮助你:
import flet
from flet import (Page, FilePicker, Text,
ElevatedButton, Row, Column, FilePickerResultEvent)
def main(page: Page):
# 2) CREATE THE EVENT FOR FILEPICKER (TO OPEN THE FILEPICKER DIR WINDOW)
def select_dir(e: FilePickerResultEvent):
page.add(filepicker)
filepicker.pick_files("Select file...")
# 3) CREATE THE FUNCTION OF EVENT
def return_dir(e: FilePickerResultEvent):
file_path.value = e.files[0].path
file_path.update()
row_filepicker = Row(vertical_alignment="center")
file_path = Text(value="Selected file path", expand=1)
# 1) CREATE A FILEPICKER:
filepicker = FilePicker(on_result=return_dir)
row_filepicker.controls.append(
ElevatedButton(
text="Select file...", on_click=select_dir))
# ADD THE PATH (if you will select it)
row_filepicker.controls.append(
file_path)
page.add(row_filepicker)
if __name__ == '__main__':
flet.app(target=main)
【讨论】: