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

自定义菜单样式类

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

Bases: PyQt5.QtWidgets.QMenu

带 DWM 阴影的菜单

windowEffect
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
menu
item
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

菜单项列表部件

scrollDelegate
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
isSubMenu = False
parentMenu = None
menuItem = None
lastHoverItem = None
lastHoverSubMenuItem = None
isHideBySystem = True
itemHeight = 28
hBoxLayout
view
aniManager = None
timer
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)

移除菜单项

removeMenu(menu)

remove submenu

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
menu
ani
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

opacityAni
aniGroup
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

opacityAni
aniGroup
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

单行编辑框右击菜单

selectionStart
selectionLength
class TextEditMenu(parent: PyQt5.QtWidgets.QTextEdit)

Bases: EditMenu

多行编辑框右击菜单

cursor
selectionStart
selectionLength
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

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

显示菜单

参数

pos: QPoint

弹出位置

ani: bool

是否显示弹出动画

aniType: MenuAnimationType

menu animation type