menu#

Module Contents#

CustomMenuStyle

自定义菜单样式类

DWMMenu

带 DWM 阴影的菜单

MenuAnimationType

Menu animation type

SubMenuItemWidget

子菜单项

MenuItemDelegate

Menu item delegate

ShortcutMenuItemDelegate

Shortcut key menu item delegate

MenuActionListWidget

菜单项列表部件

RoundMenu

圆角菜单

MenuAnimationManager

Menu animation manager

DummyMenuAnimationManager

Dummy menu animation manager

DropDownMenuAnimationManager

Drop down menu animation manager

PullUpMenuAnimationManager

Pull up menu animation manager

FadeInDropDownMenuAnimationManager

Fade in drop down menu animation manager

FadeInPullUpMenuAnimationManager

Fade in pull up menu animation manager

EditMenu

编辑框右击菜单

LineEditMenu

单行编辑框右击菜单

TextEditMenu

多行编辑框右击菜单

IndicatorMenuItemDelegate

Menu item delegate with indicator

CheckableMenuItemDelegate

Checkable menu item delegate

RadioIndicatorMenuItemDelegate

Checkable menu item delegate with radio indicator

CheckIndicatorMenuItemDelegate

Checkable menu item delegate with check indicator

MenuIndicatorType

Menu indicator type

CheckableMenu

Checkable menu

SystemTrayMenu

System tray menu

CheckableSystemTrayMenu

Checkable system tray menu

LabelContextMenu

Label context menu

createCheckableMenuItemDelegate(style)

create checkable menu item delegate

class CustomMenuStyle(iconSize=14)#

Bases: PyQt5.QtWidgets.QProxyStyle

自定义菜单样式类

pixelMetric(metric, option, widget)#
class DWMMenu(title='', parent=None)#

Bases: PyQt5.QtWidgets.QMenu

带 DWM 阴影的菜单

event(e: PyQt5.QtCore.QEvent)#
class MenuAnimationType#

Bases: enum.Enum

Menu animation type

NONE = 0#
DROP_DOWN = 1#
PULL_UP = 2#
FADE_IN_DROP_DOWN = 3#
FADE_IN_PULL_UP = 4#
class SubMenuItemWidget(menu, item, parent=None)#

Bases: PyQt5.QtWidgets.QWidget

子菜单项

showMenuSig#
enterEvent(e)#
paintEvent(e)#
class MenuItemDelegate#

Bases: PyQt5.QtWidgets.QStyledItemDelegate

Menu item delegate

paint(painter, option, index)#
class ShortcutMenuItemDelegate#

Bases: MenuItemDelegate

Shortcut key menu item delegate

paint(painter: PyQt5.QtGui.QPainter, option: PyQt5.QtWidgets.QStyleOptionViewItem, index: PyQt5.QtCore.QModelIndex)#
class MenuActionListWidget(parent=None)#

Bases: PyQt5.QtWidgets.QListWidget

菜单项列表部件

insertItem(row, item)#

在指定位置插入菜单项

addItem(item)#

添加菜单项

takeItem(row)#

从列表中删除选项

adjustSize(pos=None, aniType=MenuAnimationType.NONE)#
setItemHeight(height: int)#

设置选项的高度

setMaxVisibleItems(num: int)#

set the maximum visible items

maxVisibleItems()#
heightForAnimation(pos: PyQt5.QtCore.QPoint, aniType: MenuAnimationType)#

height for animation

itemsHeight()#

Return the height of all items

class RoundMenu(title='', parent=None)#

Bases: PyQt5.QtWidgets.QMenu

圆角菜单

closedSignal#
setMaxVisibleItems(num: int)#

set the maximum visible items

setItemHeight(height)#

设置菜单项的高度

setShadowEffect(blurRadius=30, offset=(0, 8), color=QColor(0, 0, 0, 30))#

给菜单添加阴影

adjustSize()#
icon()#
title()#
clear()#

移除所有动作

setIcon(icon: PyQt5.QtGui.QIcon | qfluentwidgets.common.icon.FluentIconBase)#

设置菜单图标

addAction(action: PyQt5.QtWidgets.QAction | qfluentwidgets.common.icon.Action)#

添加菜单项

参数#

action: QAction

菜单动作

addWidget(widget: PyQt5.QtWidgets.QWidget, selectable=True, onClick=None)#

add custom widget

参数#

widget: QWidget

custom widget

selectable: bool

whether the menu item is selectable

onClick: callable

the slot connected to item clicked signal

insertAction(before: PyQt5.QtWidgets.QAction | qfluentwidgets.common.icon.Action, action: PyQt5.QtWidgets.QAction | qfluentwidgets.common.icon.Action)#

before 之前插入一个菜单项

addActions(actions: List[PyQt5.QtWidgets.QAction | qfluentwidgets.common.icon.Action])#

添加多个菜单项

参数#

actions: Iterable[QAction]

菜单项列表

insertActions(before: PyQt5.QtWidgets.QAction | qfluentwidgets.common.icon.Action, actions: List[PyQt5.QtWidgets.QAction | qfluentwidgets.common.icon.Action])#

inserts the actions actions to menu, before the action before

removeAction(action: PyQt5.QtWidgets.QAction | qfluentwidgets.common.icon.Action)#

移除菜单项

setDefaultAction(action: PyQt5.QtWidgets.QAction | qfluentwidgets.common.icon.Action)#

设置默认动作

addMenu(menu)#

添加子菜单

参数#

menu: RoundMenu

子圆角菜单

insertMenu(before: PyQt5.QtWidgets.QAction | qfluentwidgets.common.icon.Action, menu)#

before 之前插入子菜单

addSeparator()#

添加分隔符

hideEvent(e)#
closeEvent(e)#
menuActions()#
mousePressEvent(e)#
mouseMoveEvent(e)#
exec(pos, ani=True, aniType=MenuAnimationType.DROP_DOWN)#

显示菜单

参数#

pos: QPoint

弹出位置

ani: bool

是否显示弹出动画

aniType: MenuAnimationType

menu animation type

exec_(pos: PyQt5.QtCore.QPoint, ani=True, aniType=MenuAnimationType.DROP_DOWN)#

显示菜单

参数#

pos: QPoint

弹出位置

ani: bool

是否显示弹出动画

aniType: MenuAnimationType

menu animation type

adjustPosition()#
paintEvent(e)#
class MenuAnimationManager(menu: RoundMenu)#

Bases: PyQt5.QtCore.QObject

Menu animation manager

managers#
availableViewSize(pos: PyQt5.QtCore.QPoint)#

Return the available size of view

exec(pos: PyQt5.QtCore.QPoint)#
classmethod register(name)#

register menu animation manager

参数#

name: Any

the name of manager, it should be unique

classmethod make(menu: RoundMenu, aniType: MenuAnimationType)#
class DummyMenuAnimationManager(menu: RoundMenu)#

Bases: MenuAnimationManager

Dummy menu animation manager

exec(pos: PyQt5.QtCore.QPoint)#
class DropDownMenuAnimationManager(menu: RoundMenu)#

Bases: MenuAnimationManager

Drop down menu animation manager

exec(pos)#
availableViewSize(pos: PyQt5.QtCore.QPoint)#

Return the available size of view

class PullUpMenuAnimationManager(menu: RoundMenu)#

Bases: MenuAnimationManager

Pull up menu animation manager

exec(pos)#
availableViewSize(pos: PyQt5.QtCore.QPoint)#

Return the available size of view

class FadeInDropDownMenuAnimationManager(menu: RoundMenu)#

Bases: MenuAnimationManager

Fade in drop down menu animation manager

exec(pos)#
availableViewSize(pos: PyQt5.QtCore.QPoint)#

Return the available size of view

class FadeInPullUpMenuAnimationManager(menu: RoundMenu)#

Bases: MenuAnimationManager

Fade in pull up menu animation manager

exec(pos)#
availableViewSize(pos: PyQt5.QtCore.QPoint)#

Return the available size of view

class EditMenu(title='', parent=None)#

Bases: RoundMenu

编辑框右击菜单

createActions()#
exec(pos, ani=True, aniType=MenuAnimationType.DROP_DOWN)#

显示菜单

参数#

pos: QPoint

弹出位置

ani: bool

是否显示弹出动画

aniType: MenuAnimationType

menu animation type

class LineEditMenu(parent: PyQt5.QtWidgets.QLineEdit)#

Bases: EditMenu

单行编辑框右击菜单

class TextEditMenu(parent: PyQt5.QtWidgets.QTextEdit)#

Bases: EditMenu

多行编辑框右击菜单

class IndicatorMenuItemDelegate#

Bases: MenuItemDelegate

Menu item delegate with indicator

paint(painter: PyQt5.QtGui.QPainter, option, index)#
class CheckableMenuItemDelegate#

Bases: ShortcutMenuItemDelegate

Checkable menu item delegate

paint(painter: PyQt5.QtGui.QPainter, option: PyQt5.QtWidgets.QStyleOptionViewItem, index: PyQt5.QtCore.QModelIndex)#
class RadioIndicatorMenuItemDelegate#

Bases: CheckableMenuItemDelegate

Checkable menu item delegate with radio indicator

class CheckIndicatorMenuItemDelegate#

Bases: CheckableMenuItemDelegate

Checkable menu item delegate with check indicator

class MenuIndicatorType#

Bases: enum.Enum

Menu indicator type

CHECK = 0#
RADIO = 1#
createCheckableMenuItemDelegate(style: MenuIndicatorType)#

create checkable menu item delegate

class CheckableMenu(title='', parent=None, indicatorType=MenuIndicatorType.CHECK)#

Bases: RoundMenu

Checkable menu

class SystemTrayMenu(title='', parent=None)#

Bases: RoundMenu

System tray menu

sizeHint() PyQt5.QtCore.QSize#
class CheckableSystemTrayMenu(title='', parent=None, indicatorType=MenuIndicatorType.CHECK)#

Bases: CheckableMenu

Checkable system tray menu

sizeHint() PyQt5.QtCore.QSize#
class LabelContextMenu(parent: PyQt5.QtWidgets.QLabel)#

Bases: RoundMenu

Label context menu

label() PyQt5.QtWidgets.QLabel#
exec(pos, ani=True, aniType=MenuAnimationType.DROP_DOWN)#

显示菜单

参数#

pos: QPoint

弹出位置

ani: bool

是否显示弹出动画

aniType: MenuAnimationType

menu animation type