菜单与工具栏
MenuBar 菜单栏
窗口顶部的一排菜单。
示例

用法
放在卡片中的菜单栏
addMenu() 添加菜单;setBackgroundVisible(false) 去掉自身背景,便于放进卡片或标题栏。
#include <FluentQt/MenusToolbars.h>
using namespace fluent::menus_toolbars;
using fluent::status_info::Toast;
auto addCommand = [this](FluentMenu* menu, const QString& text,
const QKeySequence& shortcut = QKeySequence()) {
auto* action = menu->addAction(text);
if (!shortcut.isEmpty()) action->setShortcut(shortcut);
connect(action, &QAction::triggered, this, [this, text] {
Toast::showOrUpdateToast(this, "gallery.action-feedback", text + " selected",
Toast::Informational, 2200, Toast::Top, QMargins(16, 50, 16, 16));
});
return action;
};
auto* menuBar = new FluentMenuBar(this);
menuBar->setBackgroundVisible(false);
auto* fileMenu = new FluentMenu("File", menuBar);
addCommand(fileMenu, "New");
addCommand(fileMenu, "Open...");
addCommand(fileMenu, "Save");
menuBar->addMenu(fileMenu);
auto* editMenu = new FluentMenu("Edit", menuBar);
addCommand(editMenu, "Undo", QKeySequence::Undo);
addCommand(editMenu, "Cut", QKeySequence::Cut);
addCommand(editMenu, "Copy", QKeySequence::Copy);
addCommand(editMenu, "Paste", QKeySequence::Paste);
menuBar->addMenu(editMenu);
auto* helpMenu = new FluentMenu("Help", menuBar);
addCommand(helpMenu, "About");
menuBar->addMenu(helpMenu);import fluentqt
from PySide6.QtCore import QMargins
from PySide6.QtGui import QKeySequence
def add_command(menu, anchor, text, shortcut=None):
action = menu.addAction(text)
if shortcut is not None:
action.setShortcut(shortcut)
action.triggered.connect(
lambda: fluentqt.Toast.showOrUpdateToast(
anchor,
"gallery.action-feedback",
text + " selected",
fluentqt.Toast.Informational,
2200,
fluentqt.Toast.Top,
QMargins(16, 50, 16, 16)
)
)
return action
menu_bar = fluentqt.FluentMenuBar()
menu_bar.setBackgroundVisible(False)
file_menu = fluentqt.FluentMenu("File", menu_bar)
add_command(file_menu, menu_bar, "New")
add_command(file_menu, menu_bar, "Open...")
add_command(file_menu, menu_bar, "Save")
menu_bar.addMenu(file_menu)
edit_menu = fluentqt.FluentMenu("Edit", menu_bar)
add_command(edit_menu, menu_bar, "Undo", QKeySequence.Undo)
add_command(edit_menu, menu_bar, "Cut", QKeySequence.Cut)
add_command(edit_menu, menu_bar, "Copy", QKeySequence.Copy)
add_command(edit_menu, menu_bar, "Paste", QKeySequence.Paste)
menu_bar.addMenu(edit_menu)
help_menu = fluentqt.FluentMenu("Help", menu_bar)
add_command(help_menu, menu_bar, "About")
menu_bar.addMenu(help_menu)API
查看声明没有匹配的 API 成员。