Создание пользовательского меню в Qt - PullRequest
4 голосов
/ 21 марта 2011

Я разрабатываю мобильное приложение, используя Qt для s60 v5 и symbain 3. Теперь я хочу меню в нижней части экрана. Он должен иметь кнопку OPTION, кнопку Exit. И дополнительная кнопка между ними. Как это может быть сделано? Я попробовал несколько вещей, но не смог разместить меню в нижней части экрана. Мне бы хотелось несколько указателей для создания пользовательских меню и размещения его в любом месте, где я захочу. Желательно, чтобы он выглядел нативно.

Ответы [ 2 ]

4 голосов
/ 21 марта 2011

Вы можете поместить не родной QMenuBar в макет, как и любой другой виджет.Ниже приведен пример приложения.

#include <QApplication>
#include <QMenuBar>
#include <QVBoxLayout>

int main(int argc, char **argv)
{
    QApplication app(argc, argv);
    QWidget window;
    QVBoxLayout layout(&window);
    QMenuBar menubar(&window);

    layout.addStretch();
    menubar.addMenu("&File");
    layout.addWidget(&menubar);
    window.show();

    return app.exec();
}
0 голосов
/ 21 марта 2011

Не думаю, что вы можете заставить строку меню находиться внизу экрана. Тем не менее, вы можете:

1) используйте встроенную функцию menuBar (), чтобы получить настоящую строку меню, и настройте меню так, как этого требует нативная ОС (например, symbian).

2) создайте свою собственную вещь меню-бара, просто создав QHBoxLayout и добавив к нему кнопки, каждый из которых создает всплывающее меню. Это будет очень похоже на строку меню, как только вы закончите. Вы, вероятно, захотите поиграть с макетами рельефа кнопки.

...