QT HTML5的菜单栏像真正的程序

QT HTML5 with Menu Bar like real program

本文关键字:程序 菜单栏 HTML5 QT      更新时间:2023-10-16

我正在开发一个QT HTML5应用程序,我想知道如何添加一个顶级菜单,就像正常的程序一样(默认的file, tools, help...选项)。

我认为我必须在html5applicationviewer.cpp中改变一些东西,但我对此一无所知(我正在学习这个…)

即使你能给我指出一点正确的方向,我也很感激。我搜索了一下,但是没有找到关于这个话题的任何东西(但也许我没有搜索对…)

如果你需要更多的信息,请问。

在Qt应用程序中添加普通"桌面"样式菜单的最简单方法是使用QMainWindow,它对菜单有很好的支持。

这里有一些东西可以让你开始。首先,我用Qt Creator (SDK版本5.2.1)创建了默认的HTML5 Qt应用程序。然后我编辑了main.cpp并添加了一些行。结果如下,原始行无注释,所有添加行有注释。

#include <QApplication>
#include <QMainWindow> // added
#include <QMenuBar> // added
#include <QMenu> // added
#include <QAction> // added
#include "html5applicationviewer.h"
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QMainWindow w; // important, viewer is in stack so w must be before it!
    Html5ApplicationViewer viewer;
    w.setCentralWidget(&viewer); // set viewer as the central widget
    QMenu *fileMenu = w.menuBar()->addMenu("&File"); // create file menu
    QAction *exitAction = fileMenu->addAction("&Exit"); // create exit action
    QObject::connect(exitAction, SIGNAL(triggered()), qApp, SLOT(quit())); // make the action do something
    viewer.setOrientation(Html5ApplicationViewer::ScreenOrientationAuto);
    //viewer.showExpanded(); // will be shown by main window
    viewer.loadFile(QLatin1String("html/index.html"));
    w.show(); // show main window
    return app.exec();
}