Skip to content

pyguiadapter.widgets.pathlist

控件配置类

PathEditDialogConfig dataclass

Bases: object

PathEditDialog的配置类。

Source code in pyguiadapter\widgets\extend\pathlist.py
@dataclasses.dataclass(frozen=True)
class PathEditDialogConfig(object):
    """PathEditDialog的配置类。"""

    title: str = "Edit Path"
    """对话框标题"""

    select_file: bool = True
    """是否开启选择文件功能"""

    select_dir: bool = True
    """是否开启选择目录功能"""

    select_file_button_text: str = "File"
    """选择文件按钮文本"""

    select_dir_button_text: str = "Directory"
    """选择目录按钮文本"""

    cancel_button_text: str = "Cancel"
    """取消按钮文本"""

    confirm_button_text: str = "Confirm"
    """确认按钮文本"""

    file_dialog_title: str = "Select File"
    """文件对话框标题"""

    dir_dialog_title: str = "Select Directory"
    """目录对话框标题"""

    file_filters: str = ""
    """文件过滤器"""

    start_dir: str = ""
    """起始路径"""

cancel_button_text: str = 'Cancel' class-attribute instance-attribute

取消按钮文本

confirm_button_text: str = 'Confirm' class-attribute instance-attribute

确认按钮文本

dir_dialog_title: str = 'Select Directory' class-attribute instance-attribute

目录对话框标题

file_dialog_title: str = 'Select File' class-attribute instance-attribute

文件对话框标题

file_filters: str = '' class-attribute instance-attribute

文件过滤器

select_dir: bool = True class-attribute instance-attribute

是否开启选择目录功能

select_dir_button_text: str = 'Directory' class-attribute instance-attribute

选择目录按钮文本

select_file: bool = True class-attribute instance-attribute

是否开启选择文件功能

select_file_button_text: str = 'File' class-attribute instance-attribute

选择文件按钮文本

start_dir: str = '' class-attribute instance-attribute

起始路径

title: str = 'Edit Path' class-attribute instance-attribute

对话框标题

PathListEditConfig dataclass

Bases: CommonParameterWidgetConfig

PathListEdit的配置类。

Source code in pyguiadapter\widgets\extend\pathlist.py
@dataclasses.dataclass(frozen=True)
class PathListEditConfig(CommonParameterWidgetConfig):
    """PathListEdit的配置类。"""

    default_value: Optional[List[str]] = dataclasses.field(default_factory=list)
    """默认值"""

    empty_string_strategy: Literal["keep_all", "keep_one", "remove_all"] = "remove_all"
    """对待列表中空字符串的策略,keep_all表示保留所有空字符串,keep_one表示只保留第一个空字符串,remove_all表示删除所有空字符串"""

    add_files: bool = True
    """是否开启添加文件路径功能"""

    add_dirs: bool = True
    """是否开启添加文件夹路径功能"""

    file_filters: str = ""
    """文件过滤器,用于文件对话框"""

    start_dir: str = ""
    """起始路径,用于文件对话框"""

    normalize_path: bool = True
    """是否将路径规范化"""

    absolutize_path: bool = True
    """是否将路径转换为绝对路径"""

    add_file_button_text: str = "Add Files"
    """添加文件按钮文本"""

    add_dir_button_text: str = "Add Dir"
    """添加目录按钮的文本"""

    remove_button_text: str = "Remove"
    """删除按钮文本"""

    clear_button_text: str = "Clear"
    """清空全部按钮文本"""

    file_dialog_title: str = "Select File"
    """添加文件对话框标题"""

    dir_dialog_title: str = "Select Directory"
    """添加文件夹对话框标题"""

    confirm_dialog_title: str = "Confirm"
    """确认对话框标题"""

    warning_dialog_title: str = "Warning"
    """警告对话框标题"""

    confirm_remove: bool = True
    """是否显示移除确认对话框"""

    confirm_clear: bool = True
    """是否显示清空确认对话框"""

    remove_confirm_message: str = "Are you sure to remove the selected item?"
    """移除确认对话框消息"""

    clear_confirm_message: str = "Are you sure to remove all items?"
    """清空确认对话框消息"""

    no_selection_message: str = "No items are selected!"
    """未选择任何项的提示"""

    drag_enabled: bool = True
    """是否允许拖拽"""

    wrapping: bool = False
    """是否允许换行"""

    text_elide_mode: Optional[TextElideMode] = None
    """文本省略模式"""

    alternating_row_colors: bool = True
    """是否使用交替行颜色"""

    width: Optional[int] = None
    """表格的最小宽度"""

    height: Optional[int] = 210
    """表格的最小高度"""

    drag_n_drop: bool = True
    """是否允许拖拽文件或目录到表格"""

    drag_n_drop_filter: Optional[Callable[[str, str], bool]] = default_dnd_filter
    """文件拖放功能的过滤函数。该函数应接收两个参数:文件过滤器(即本类的`filters`属性)和拖放的文件路径。
    若返回True,则表示该文件可以被拖放;否则,则表示该文件不能被拖放。该属性也可以设置为None,表示不对拖放文件进行过滤。
    默认情况下,使用`default_dnd_filter`函数作为过滤函数,该函数会将待拖放的文件的文件名与文件过滤器进行匹配,若命中任意文件过滤器,则返回True,
    否则返回False。比如,若文件过滤器为'Text files (*.txt);;Python files (*.py)', 则文件'hello.txt'可以被拖放,因为其命中了'Text files (*.txt)';
    文件'hello.py'也可以被拖放,因为其命中了'Python files (*.py)';文件'hello.png'则不能被拖放,因为其没有命中任何文件过滤器。"""

    path_edit_dialog_config: Optional[PathEditDialogConfig] = None
    """编辑路径对话框的配置"""

    @classmethod
    def target_widget_class(cls) -> Type["PathListEdit"]:
        return PathListEdit

absolutize_path: bool = True class-attribute instance-attribute

是否将路径转换为绝对路径

add_dir_button_text: str = 'Add Dir' class-attribute instance-attribute

添加目录按钮的文本

add_dirs: bool = True class-attribute instance-attribute

是否开启添加文件夹路径功能

add_file_button_text: str = 'Add Files' class-attribute instance-attribute

添加文件按钮文本

add_files: bool = True class-attribute instance-attribute

是否开启添加文件路径功能

alternating_row_colors: bool = True class-attribute instance-attribute

是否使用交替行颜色

clear_button_text: str = 'Clear' class-attribute instance-attribute

清空全部按钮文本

clear_confirm_message: str = 'Are you sure to remove all items?' class-attribute instance-attribute

清空确认对话框消息

confirm_clear: bool = True class-attribute instance-attribute

是否显示清空确认对话框

confirm_dialog_title: str = 'Confirm' class-attribute instance-attribute

确认对话框标题

confirm_remove: bool = True class-attribute instance-attribute

是否显示移除确认对话框

default_value: Optional[List[str]] = dataclasses.field(default_factory=list) class-attribute instance-attribute

默认值

dir_dialog_title: str = 'Select Directory' class-attribute instance-attribute

添加文件夹对话框标题

drag_enabled: bool = True class-attribute instance-attribute

是否允许拖拽

drag_n_drop: bool = True class-attribute instance-attribute

是否允许拖拽文件或目录到表格

drag_n_drop_filter: Optional[Callable[[str, str], bool]] = default_dnd_filter class-attribute instance-attribute

文件拖放功能的过滤函数。该函数应接收两个参数:文件过滤器(即本类的filters属性)和拖放的文件路径。 若返回True,则表示该文件可以被拖放;否则,则表示该文件不能被拖放。该属性也可以设置为None,表示不对拖放文件进行过滤。 默认情况下,使用default_dnd_filter函数作为过滤函数,该函数会将待拖放的文件的文件名与文件过滤器进行匹配,若命中任意文件过滤器,则返回True, 否则返回False。比如,若文件过滤器为'Text files (.txt);;Python files (.py)', 则文件'hello.txt'可以被拖放,因为其命中了'Text files (.txt)'; 文件'hello.py'也可以被拖放,因为其命中了'Python files (.py)';文件'hello.png'则不能被拖放,因为其没有命中任何文件过滤器。

empty_string_strategy: Literal['keep_all', 'keep_one', 'remove_all'] = 'remove_all' class-attribute instance-attribute

对待列表中空字符串的策略,keep_all表示保留所有空字符串,keep_one表示只保留第一个空字符串,remove_all表示删除所有空字符串

file_dialog_title: str = 'Select File' class-attribute instance-attribute

添加文件对话框标题

file_filters: str = '' class-attribute instance-attribute

文件过滤器,用于文件对话框

height: Optional[int] = 210 class-attribute instance-attribute

表格的最小高度

no_selection_message: str = 'No items are selected!' class-attribute instance-attribute

未选择任何项的提示

normalize_path: bool = True class-attribute instance-attribute

是否将路径规范化

path_edit_dialog_config: Optional[PathEditDialogConfig] = None class-attribute instance-attribute

编辑路径对话框的配置

remove_button_text: str = 'Remove' class-attribute instance-attribute

删除按钮文本

remove_confirm_message: str = 'Are you sure to remove the selected item?' class-attribute instance-attribute

移除确认对话框消息

start_dir: str = '' class-attribute instance-attribute

起始路径,用于文件对话框

text_elide_mode: Optional[TextElideMode] = None class-attribute instance-attribute

文本省略模式

warning_dialog_title: str = 'Warning' class-attribute instance-attribute

警告对话框标题

width: Optional[int] = None class-attribute instance-attribute

表格的最小宽度

wrapping: bool = False class-attribute instance-attribute

是否允许换行

FileListEditConfig dataclass

Bases: PathListEditConfig

文件列表控件的配置

Source code in pyguiadapter\widgets\extend\pathlist.py
@dataclasses.dataclass(frozen=True)
class FileListEditConfig(PathListEditConfig):
    """文件列表控件的配置"""

    add_files = True
    add_dirs = False

    def target_widget_class(self) -> Type["FileListEdit"]:
        return FileListEdit

DirectoryListEditConfig dataclass

Bases: PathListEditConfig

文件列表控件的配置

Source code in pyguiadapter\widgets\extend\pathlist.py
@dataclasses.dataclass(frozen=True)
class DirectoryListEditConfig(PathListEditConfig):
    """文件列表控件的配置"""

    add_files = False
    add_dirs = True
    file_filters = ""

    def target_widget_class(self) -> Type["DirectoryListEdit"]:
        return DirectoryListEdit

控件类

PathListEdit

Bases: CommonParameterWidget

路径列表控件,可以用于存放多个路径,支持文件和目录。

ElideLeft = TextElideMode.ElideLeft class-attribute instance-attribute

文本省略模式:省略左边

ElideMiddle = TextElideMode.ElideMiddle class-attribute instance-attribute

文本省略模式:省略中间

ElideNone = TextElideMode.ElideNone class-attribute instance-attribute

文本省略模式:不省略

ElideRight = TextElideMode.ElideRight class-attribute instance-attribute

文本省略模式:省略右边

FileListEdit

Bases: PathListEdit

文件列表控件,继承自PathListEdit,用于存放文件路径。

DirectoryListEdit

Bases: PathListEdit

目录列表控件,继承自PathListEdit,用于存放目录路径。

对应参数数据类型

  • path_dict_t -> PathListEdit
  • file_list_t -> FileListEdit
  • dir_list_t -> DirectoryListEdit

类型与常量

TextElideMode = Qt.TextElideMode module-attribute

文本省略模式