【发布时间】:2020-06-09 15:07:08
【问题描述】:
通常,右键单击窗口的标题栏会弹出system-menu。
我的问题是:如何强制此菜单按需弹出:例如在单击按钮时。
QApplication a(argc, argv);
QWidget window;
window.resize(200,100);
QPushButton button(&window);
button.connect( &button, &QPushButton::clicked, [&window]()
{
// here show the window system menu:
// window.showSystemMenu(QPoint(0,0));
});
window.show();
a.exec();
注意:要将此信号/槽与 lambda 一起使用,需要 C++11。但是纯 C++03 也是有效的。
编辑:
我实际上将此菜单创建为 QMenu,我填充的内容与默认的 Windows 菜单相同。这适用于任何平台,但内容可能与预期不同。
【问题讨论】:
-
我仍在寻找不使用每个平台库的答案。换句话说,使用 TAG 中指示的 QT。