crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> 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  


Цитата(MoPDoBoPoT @ 7.9.2009, 23:34) *
Могу предложить попробовать:
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, но не добавляет его
}


Спасибо за помощь.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 19.12.2024, 4:39