跳转至

pyguiadapter.window

BaseWindowConfig dataclass

Bases: object

Source code in pyguiadapter\window.py
@dataclasses.dataclass(frozen=True)
class BaseWindowConfig(object):
    title: str = ""
    """窗口标题"""

    icon: IconType = None
    """窗口图标"""

    size: Union[Tuple[int, int], QSize] = (800, 600)
    """窗口大小"""

    position: Optional[Tuple[int, int]] = None
    """窗口位置"""

    always_on_top: bool = False
    """窗口是否永远置顶"""

    font_family: Union[str, Sequence[str], None] = None
    """窗口使用的字体"""

    font_size: Optional[int] = None
    """窗口字体的大小(px)"""

    close_button: bool = True
    """是否显示关闭按钮"""

    minimize_button: bool = True
    """是否显示最小化按钮"""

    maximize_button: bool = True
    """是否显示最大化按钮"""

    stylesheet: Optional[str] = None
    """窗口的样式表(QSS格式)"""

always_on_top: bool = False class-attribute instance-attribute

窗口是否永远置顶

close_button: bool = True class-attribute instance-attribute

是否显示关闭按钮

font_family: Union[str, Sequence[str], None] = None class-attribute instance-attribute

窗口使用的字体

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

窗口字体的大小(px)

icon: IconType = None class-attribute instance-attribute

窗口图标

maximize_button: bool = True class-attribute instance-attribute

是否显示最大化按钮

minimize_button: bool = True class-attribute instance-attribute

是否显示最小化按钮

position: Optional[Tuple[int, int]] = None class-attribute instance-attribute

窗口位置

size: Union[Tuple[int, int], QSize] = (800, 600) class-attribute instance-attribute

窗口大小

stylesheet: Optional[str] = None class-attribute instance-attribute

窗口的样式表(QSS格式)

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

窗口标题


BaseWindowEventListener

Bases: object

该类为窗口事件监听器基类,用于监听BaseWindow类的窗口事件。开发者可以在子类中override特定的事件回调函数,以实现对特定事件的监听

Source code in pyguiadapter\window.py
class BaseWindowEventListener(object):
    """该类为窗口事件监听器基类,用于监听`BaseWindow`类的窗口事件。开发者可以在子类中override特定的事件回调函数,以实现对特定事件的监听"""

    def on_create(self, window: "BaseWindow") -> None:
        """
        事件回调函数,在窗口创建后调用。

        Args:
            window: 发生事件的窗口

        Returns:
            无返回值
        """
        pass

    # noinspection PyUnusedLocal
    def on_close(self, window: "BaseWindow") -> bool:
        """
        事件回调函数,在窗口关闭时调用。

        Args:
            window: 发生事件的窗口

        Returns:
            返回一个`bool`值,用于指示是否要关闭窗口。返回`True`表示确实要关闭窗口,返回`False`将阻止窗口被关闭。默认返回`True`。
        """
        return True

    def on_destroy(self, window: "BaseWindow") -> None:
        """
        事件回调函数,在窗口销毁后调用(注意:在该函数回调后,还将回调一次`on_hide()`)。

        Args:
            window: 发生事件的窗口

        Returns:
            无返回值
        """
        pass

    def on_hide(self, window: "BaseWindow") -> None:
        """
        事件回调函数,在窗口被隐藏后调用(注意:在`on_destroy()`被回调后,此函数将被回调)。

        Args:
            window: 发生事件的窗口

        Returns:
            无返回值
        """
        pass

    def on_show(self, window: "BaseWindow") -> None:
        """
        事件回调函数,在窗口显示后调用。

        Args:
            window: 发生事件的窗口

        Returns:
            无返回值
        """
        pass

on_close(window: BaseWindow) -> bool

事件回调函数,在窗口关闭时调用。

Parameters:

Name Type Description Default
window BaseWindow

发生事件的窗口

required

Returns:

Type Description
bool

返回一个bool值,用于指示是否要关闭窗口。返回True表示确实要关闭窗口,返回False将阻止窗口被关闭。默认返回True

Source code in pyguiadapter\window.py
def on_close(self, window: "BaseWindow") -> bool:
    """
    事件回调函数,在窗口关闭时调用。

    Args:
        window: 发生事件的窗口

    Returns:
        返回一个`bool`值,用于指示是否要关闭窗口。返回`True`表示确实要关闭窗口,返回`False`将阻止窗口被关闭。默认返回`True`。
    """
    return True

on_create(window: BaseWindow) -> None

事件回调函数,在窗口创建后调用。

Parameters:

Name Type Description Default
window BaseWindow

发生事件的窗口

required

Returns:

Type Description
None

无返回值

Source code in pyguiadapter\window.py
def on_create(self, window: "BaseWindow") -> None:
    """
    事件回调函数,在窗口创建后调用。

    Args:
        window: 发生事件的窗口

    Returns:
        无返回值
    """
    pass

on_destroy(window: BaseWindow) -> None

事件回调函数,在窗口销毁后调用(注意:在该函数回调后,还将回调一次on_hide())。

Parameters:

Name Type Description Default
window BaseWindow

发生事件的窗口

required

Returns:

Type Description
None

无返回值

Source code in pyguiadapter\window.py
def on_destroy(self, window: "BaseWindow") -> None:
    """
    事件回调函数,在窗口销毁后调用(注意:在该函数回调后,还将回调一次`on_hide()`)。

    Args:
        window: 发生事件的窗口

    Returns:
        无返回值
    """
    pass

on_hide(window: BaseWindow) -> None

事件回调函数,在窗口被隐藏后调用(注意:在on_destroy()被回调后,此函数将被回调)。

Parameters:

Name Type Description Default
window BaseWindow

发生事件的窗口

required

Returns:

Type Description
None

无返回值

Source code in pyguiadapter\window.py
def on_hide(self, window: "BaseWindow") -> None:
    """
    事件回调函数,在窗口被隐藏后调用(注意:在`on_destroy()`被回调后,此函数将被回调)。

    Args:
        window: 发生事件的窗口

    Returns:
        无返回值
    """
    pass

on_show(window: BaseWindow) -> None

事件回调函数,在窗口显示后调用。

Parameters:

Name Type Description Default
window BaseWindow

发生事件的窗口

required

Returns:

Type Description
None

无返回值

Source code in pyguiadapter\window.py
def on_show(self, window: "BaseWindow") -> None:
    """
    事件回调函数,在窗口显示后调用。

    Args:
        window: 发生事件的窗口

    Returns:
        无返回值
    """
    pass

SimpleWindowEventListener

Bases: BaseWindowEventListener

该类为BaseWindowEventListener子类,用于快速创建BaseWindowEventListener实例。开发者可以直接在构造函数中传入要监听的事件的回调函数, 而不必手动创建BaseWindowEventListener的子类。

Source code in pyguiadapter\window.py
class SimpleWindowEventListener(BaseWindowEventListener):
    """该类为`BaseWindowEventListener`子类,用于快速创建`BaseWindowEventListener`实例。开发者可以直接在构造函数中传入要监听的事件的回调函数,
    而不必手动创建`BaseWindowEventListener`的子类。
    """

    def __init__(
        self,
        on_create: Callable[["BaseWindow"], None] = None,
        on_show: Callable[["BaseWindow"], None] = None,
        on_hide: Callable[["BaseWindow"], None] = None,
        on_close: Callable[["BaseWindow"], bool] = None,
        on_destroy: Callable[["BaseWindow"], None] = None,
    ):
        """
        构造函数。用于创建`SimpleWindowEventListener`类实例。

        Args:
            on_create: 回调函数,该函数在窗口创建后调用。
            on_show: 回调函数,该函数在窗口显示后回调。
            on_hide: 回调函数,该函数在窗口被隐藏时回调。
            on_close: 回调函数,该函数在窗口被关闭时回调。
            on_destroy: 回调函数,该函数在窗口被销毁后回调。
        """
        self._on_create_callback = on_create
        self._on_show_callback = on_show
        self._on_hide_callback = on_hide
        self._on_close_callback = on_close
        self._on_destroy_callback = on_destroy

    def on_create(self, window: "BaseWindow") -> None:
        if self._on_create_callback:
            return self._on_create_callback(window)
        return super().on_create(window)

    def on_close(self, window: "BaseWindow") -> bool:
        if self._on_close_callback:
            return self._on_close_callback(window)
        return super().on_close(window)

    def on_destroy(self, window: "BaseWindow") -> None:
        if self._on_destroy_callback:
            return self._on_destroy_callback(window)
        return super().on_destroy(window)

    def on_hide(self, window: "BaseWindow") -> None:
        if self._on_hide_callback:
            return self._on_hide_callback(window)
        return super().on_hide(window)

    def on_show(self, window: "BaseWindow") -> None:
        if self._on_show_callback:
            return self._on_show_callback(window)
        return super().on_show(window)

__init__(on_create: Callable[[BaseWindow], None] = None, on_show: Callable[[BaseWindow], None] = None, on_hide: Callable[[BaseWindow], None] = None, on_close: Callable[[BaseWindow], bool] = None, on_destroy: Callable[[BaseWindow], None] = None)

构造函数。用于创建SimpleWindowEventListener类实例。

Parameters:

Name Type Description Default
on_create Callable[[BaseWindow], None]

回调函数,该函数在窗口创建后调用。

None
on_show Callable[[BaseWindow], None]

回调函数,该函数在窗口显示后回调。

None
on_hide Callable[[BaseWindow], None]

回调函数,该函数在窗口被隐藏时回调。

None
on_close Callable[[BaseWindow], bool]

回调函数,该函数在窗口被关闭时回调。

None
on_destroy Callable[[BaseWindow], None]

回调函数,该函数在窗口被销毁后回调。

None
Source code in pyguiadapter\window.py
def __init__(
    self,
    on_create: Callable[["BaseWindow"], None] = None,
    on_show: Callable[["BaseWindow"], None] = None,
    on_hide: Callable[["BaseWindow"], None] = None,
    on_close: Callable[["BaseWindow"], bool] = None,
    on_destroy: Callable[["BaseWindow"], None] = None,
):
    """
    构造函数。用于创建`SimpleWindowEventListener`类实例。

    Args:
        on_create: 回调函数,该函数在窗口创建后调用。
        on_show: 回调函数,该函数在窗口显示后回调。
        on_hide: 回调函数,该函数在窗口被隐藏时回调。
        on_close: 回调函数,该函数在窗口被关闭时回调。
        on_destroy: 回调函数,该函数在窗口被销毁后回调。
    """
    self._on_create_callback = on_create
    self._on_show_callback = on_show
    self._on_hide_callback = on_hide
    self._on_close_callback = on_close
    self._on_destroy_callback = on_destroy

BaseWindow

Bases: QMainWindow

PyGUIAdapter中所有顶级窗口的基类,定义了窗口基本的外观和逻辑,并且实现了一些公共的方法。 这些方法可以在窗口事件回调函数中或者Action的回调函数中调用。

clear_toasts() -> None

清除之前发出的toast消息。

Returns:

Type Description
None

无返回值

get_action_state(action: Action) -> Optional[bool]

检查目标Action的当前状态

Parameters:

Name Type Description Default
action Action

目标Action

required

Returns:

Type Description
Optional[bool]

返回目标Action的当前状态。若未找到目标Action,则返回None

get_clipboard_text() -> str staticmethod

获取剪贴板内容。

Returns:

Type Description
str

返回当前剪贴板文本。

get_font_families() -> Sequence[str]

获取当前窗口字体系列名称。

Returns:

Type Description
Sequence[str]

返回当前窗口字体系列名称(以列表形式)。

get_font_family() -> str

获取当前窗口字体系列名称。

Returns:

Type Description
str

返回当前窗口字体系列名称(以字符串形式)。

get_font_size() -> int

获取窗口字体大小(px)。

Returns:

Type Description
int

返回当前窗口字体大小。

get_position() -> Tuple[int, int]

获取窗口位置。

Returns:

Type Description
Tuple[int, int]

返回窗口当前在屏幕上的位置。

get_size() -> Tuple[int, int]

获取窗口当前尺寸。

Returns:

Type Description
Tuple[int, int]

返回窗口当前尺寸。

get_stylesheet() -> str

获取窗口当前样式表。

Returns:

Type Description
str

返回窗口当前样式表。

get_title() -> str

获取窗口标题。

Returns:

Type Description
str

返回当前窗口标题

has_action(action: Action) -> bool

检测指定Action是否被添加到当前窗口中。

Parameters:

Name Type Description Default
action Action

待检测的Action

required

Returns:

Type Description
bool

返回True代表指定Action已被添加到当前窗口中,否则返回False

is_action_checkable(action: Action) -> Optional[bool]

检测指定Action是否为“可选中”的。

Parameters:

Name Type Description Default
action Action

待检测的Action

required

Returns:

Type Description
Optional[bool]

返回True代表指定Action为“可选中”的,否则返回False。若未找到指定Action,则返回None

is_action_checked(action: Action) -> Optional[bool]

检测指定Action是否处于“选中”状态。

Parameters:

Name Type Description Default
action Action

待检测的Action

required

Returns:

Type Description
Optional[bool]

返回True代表指定Action当前为“选中”状态的,否则返回False。若未找到指定Action,则返回None

is_action_enabled(action: Action) -> Optional[bool]

检查目标Action当前的启用状态。

Parameters:

Name Type Description Default
action Action

目标Action

required

Returns:

Type Description
Optional[bool]

返回目标Action当前的启用状态。若未找到目标Action,则返回None

is_always_on_top() -> bool

判断窗口是否总是置顶。

Returns:

Type Description
bool

返回True代表窗口当前处于总是置顶状态。

set_action_enabled(action: Action, enabled: bool) -> Optional[bool]

设置目标Action的启用状态。

Parameters:

Name Type Description Default
action Action

目标Action

required
enabled bool

目标状态

required

Returns:

Type Description
Optional[bool]

返回设置之前的启用状态。若未找到目标Action,则返回None

set_action_state(action: Action, checked: bool) -> Optional[bool]

设置Action当前状态。

Parameters:

Name Type Description Default
action Action

目标Action

required
checked bool

目标状态

required

Returns:

Type Description
Optional[bool]

返回设置之前的状态。若未找到目标Action,则返回None

set_always_on_top(enabled: bool) -> None

设置窗口是否总是置顶。

Parameters:

Name Type Description Default
enabled bool

是否总是置顶

required

Returns:

Type Description
None

无返回值

set_clipboard_text(text: str) -> None staticmethod

设置剪贴板内容。

Parameters:

Name Type Description Default
text str

要设置到剪贴板中的文本

required

Returns:

Type Description
None

无返回值

set_font(font_family: Union[str, Sequence[str]], font_size: int) -> None

设置窗口字体。

Parameters:

Name Type Description Default
font_family Union[str, Sequence[str]]

字体名称

required
font_size int

字体大小(px)

required

Returns:

Type Description
None

无返回值

set_icon(icon: IconType) -> None

设置窗口图标。

Parameters:

Name Type Description Default
icon IconType

待设置的图标

required

Returns:

Type Description
None

无返回值

set_position(position: Optional[Tuple[int, int]]) -> None

设置窗口在屏幕上的位置。

Parameters:

Name Type Description Default
position Optional[Tuple[int, int]]

目标位置。

required

Returns:

Type Description
None

无返回值

set_size(size: Union[Tuple[int, int], QSize]) -> None

设置窗口尺寸。

Parameters:

Name Type Description Default
size Union[Tuple[int, int], QSize]

目标尺寸。

required

Returns:

Type Description
None

无返回值

set_stylesheet(stylesheet: Optional[str]) -> None

为窗口设置样式表(QSS)格式。

Parameters:

Name Type Description Default
stylesheet Optional[str]

样式表

required

Returns:

Type Description
None

无返回值

set_title(title: str) -> None

设置窗口标题。

Parameters:

Name Type Description Default
title str

待设置的标题

required

Returns:

Type Description
None

无返回值

show_toast(message: str, duration: int = 2000, config: Optional[ToastConfig] = None, clear: bool = False) -> None

显示一条toast消息。

Parameters:

Name Type Description Default
message str

待显示的消息

required
duration int

消息显示的时长,单位毫秒

2000
config Optional[ToastConfig]

toast的配置

None
clear bool

在显示当前消息前,是否清除之前发出的消息

False

Returns:

Type Description
None

无返回值

toggle_action_state(action: Action) -> Optional[bool]

切换目标Action的当前状态。

Parameters:

Name Type Description Default
action Action

目标Action

required

Returns:

Type Description
Optional[bool]

返回切换之前的状态。若未找到目标Action,则返回None