QT HTML5 с панели меню, как настоящая программа

Я работаю над приложением QT HTML5, и мне было интересно, как я могу добавить верхнее меню, как обычная программа (по умолчанию file, tools, help... опции ).

Я думаю, что я должен что-то изменить в html5applicationviewer.cpp, но у меня 0 знаний об этом (я учусь этому …)

Даже если бы вы могли указать мне немного в правильном направлении, я благодарен. Я искал вокруг, но не нашел абсолютно ничего об этой теме (но, возможно, я не искал правильно …)

Если вам нужна дополнительная информация, пожалуйста, спросите.

2

Решение

Самый простой способ добавить обычные «настольные» меню стиля в приложение 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();
}
2

Другие решения


По вопросам рекламы [email protected]