带有菜单栏的 QT HTML5 像真正的程序
Posted
技术标签:
【中文标题】带有菜单栏的 QT HTML5 像真正的程序【英文标题】:QT HTML5 with Menu Bar like real program 【发布时间】:2014-07-28 13:15:05 【问题描述】:我正在开发一个 QT html5 应用程序,我想知道如何像普通程序一样添加顶部菜单(使用默认的 file, tools, help...
选项)。
我认为我必须更改 html5applicationviewer.cpp
中的某些内容,但我对此知之甚少(我正在学习这个...)
即使你能给我指出正确的方向,我也很感激。我四处搜索,但没有找到关于这个主题的任何内容(但也许我没有搜索正确......)
如果您需要更多信息,请询问。
【问题讨论】:
如果你愿意,你必须使用 html/css/jquery 来制作一个,我会尝试制作一个示例 @Youness,不需要这个例子。我以前开发过几个网站,所以我知道该怎么做。但我希望有可能创建一个“程序”菜单.... 【参考方案1】:将普通“桌面”样式菜单添加到 Qt 应用程序的最简单方法是使用 QMainWindow
,它具有 good support for menus。
这里有一些东西可以帮助您入门。首先,我使用 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();
【讨论】:
非常感谢!那确实是我正在寻找的... 1个问题。为什么在fileMenu and exitAction
之前使用星号*
? (我也会谷歌你为什么使用它。但也许你的解释会帮助我理解在这种特殊情况下的选择......
@Mathlight *
表示指针。 QObject
s 几乎总是通过指针使用,将它们作为纯值变量(如 w
和 viewer
这里)是不寻常的。您可能应该花一些时间学习 C++ 基础知识... :-)
我确实需要更多时间来学习基础知识 :D 但是感谢您为我指出这一点!以上是关于带有菜单栏的 QT HTML5 像真正的程序的主要内容,如果未能解决你的问题,请参考以下文章