Я работаю над приложением QT HTML5, и мне было интересно, как я могу добавить верхнее меню, как обычная программа (по умолчанию file, tools, help...
опции ).
Я думаю, что я должен что-то изменить в html5applicationviewer.cpp
, но у меня 0 знаний об этом (я учусь этому …)
Даже если бы вы могли указать мне немного в правильном направлении, я благодарен. Я искал вокруг, но не нашел абсолютно ничего об этой теме (но, возможно, я не искал правильно …)
Если вам нужна дополнительная информация, пожалуйста, спросите.
Самый простой способ добавить обычные «настольные» меню стиля в приложение Qt — это использовать QMainWindow
у которого есть хорошая поддержка для меню.
Вот кое-что, чтобы вы начали. Сначала я создал приложение HTML5 Qt по умолчанию с помощью Qt Creator (SDK версии 5.2.1). Затем я отредактировал 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();
}