QMenuBar и QAction в Windows Mobile |
Здравствуйте, гость ( Вход | Регистрация )
QMenuBar и QAction в Windows Mobile |
pluzhnikvictor |
7.9.2009, 13:09
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 7.9.2009 Пользователь №: 1060 Спасибо сказали: 0 раз(а) Репутация: 0 |
Добрый день. Проблема заключается в том, что в MenuBar меню отображается справа-внизу с надписью "Menu", а хотелось бы написать русскими буквами и отобразить панель ToolBar здесь же, как это можно сделать при помощи MFC (чтобы оставить на экране больше полезного места).
Т.е. в нижней части экрана хотелось бы видеть (слева-направо) : Меню | toolbar(кнопки) | значок виртуальной клавиатуры. Решал кто-нибудь подобную задачу? |
|
|
MoPDoBoPoT |
7.9.2009, 22:34
Сообщение
#2
|
Участник Группа: Участник Сообщений: 172 Регистрация: 7.5.2009 Из: Москва Пользователь №: 738 Спасибо сказали: 44 раз(а) Репутация: 9 |
Могу предложить попробовать:
1. Создать объект QToolBar 2. Задать ему расположение setAllowedAreas(Qt::BottomToolBarArea); 3. Добавить в него QMenuBar(или QMenu, смотря что надо) методом addWidget(QWidget *widget); 4. Добавить разделитель addSeparator(); 5. Добавить необходимые QAction, добавить разделитель, добавить значок виртуальной клавиатуры --- 6. Если элементы в QToolBar'е будут располагаться справа налево, то воспользоваться методом setLayoutDirection(Qt::LeftToRight) 7. Насчет "Текст поменять не удается." - странно как-то. Хотя под мобилки не писал. |
|
|
pluzhnikvictor |
8.9.2009, 8:27
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 7.9.2009 Пользователь №: 1060 Спасибо сказали: 0 раз(а) Репутация: 0 |
Могу предложить попробовать: 1. Создать объект QToolBar 2. Задать ему расположение setAllowedAreas(Qt::BottomToolBarArea); 3. Добавить в него QMenuBar(или QMenu, смотря что надо) методом addWidget(QWidget *widget); 4. Добавить разделитель addSeparator(); 5. Добавить необходимые QAction, добавить разделитель, добавить значок виртуальной клавиатуры --- 6. Если элементы в QToolBar'е будут располагаться справа налево, то воспользоваться методом setLayoutDirection(Qt::LeftToRight) 7. Насчет "Текст поменять не удается." - странно как-то. Хотя под мобилки не писал. Да, такой вариант подходит за единственным исключением: для Windows Mobile setAllowedAreas(Qt::BottomToolBarArea) для ToolBar не размещает его внизу. Нужно после создания ToolBar'а вызвать addToolBar(Qt::BottomToolBarArea, ToolBar). Примерно так: CODE void QMainWindow::createToolbar() { QMenu *Menu = new QMenu(tr("&File"), this); Menu->addAction(openAct); Menu->addSeparator(); Menu->addAction(exitAct); menuBar()->addMenu(Menu); ToolBar = addToolBar(tr("Edit")); ToolBar->addWidget(menuBar()); ToolBar->addSeparator(); ToolBar->addAction(openAct); ToolBar->addSeparator(); ToolBar->addAction(exitAct); //ToolBar->setAllowedAreas(Qt::BottomToolBarArea); // Такой вариант ничего не дает addToolBar(Qt::BottomToolBarArea, ToolBar); // А вот этот - изменяет расположение ToolBar, но не добавляет его } Спасибо за помощь. |
|
|
Текстовая версия | Сейчас: 19.12.2024, 4:39 |