crossplatform.ru

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


  Ответ в QMenuBar и QAction в Windows Mobile
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
MoPDoBoPoT Дата 8.9.2009, 14:45
  Ага, не туда посмотрел (:
pluzhnikvictor Дата 8.9.2009, 14:39
  Такого метода нет. :)

Только: void addToolBar ( Qt::ToolBarArea area, QToolBar * toolbar )
т.е. расположение можно задать только для уже существующего ToolBar'а.
MoPDoBoPoT Дата 8.9.2009, 11:39
  Рад помочь.
А почему бы тогда сразу не сделать так?
...
ToolBar = addToolBar(Qt::BottomToolBarArea, tr("Edit"));
ToolBar->addWidget(menuBar());
..
pluzhnikvictor Дата 8.9.2009, 8:27
 
Цитата(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, но не добавляет его
}


Спасибо за помощь.
MoPDoBoPoT Дата 7.9.2009, 22:34
  Могу предложить попробовать:
1. Создать объект QToolBar
2. Задать ему расположение setAllowedAreas(Qt::BottomToolBarArea);
3. Добавить в него QMenuBar(или QMenu, смотря что надо) методом addWidget(QWidget *widget);
4. Добавить разделитель addSeparator();
5. Добавить необходимые QAction, добавить разделитель, добавить значок виртуальной клавиатуры
---
6. Если элементы в QToolBar'е будут располагаться справа налево, то воспользоваться методом setLayoutDirection(Qt::LeftToRight)
7. Насчет "Текст поменять не удается." - странно как-то. Хотя под мобилки не писал.
Litkevich Yuriy Дата 7.9.2009, 18:16
  1) приведи код создания меню
pluzhnikvictor Дата 7.9.2009, 17:51
  Еще раз. ОС - Windows Mobile 5.0 (русская версия). QT - 4.5.2. IDE - Visual Studio 2008.

1. Если я создаю окно на основе QMainWindow и создаю меню для этого окна, то оно (меню) появляется внизу экрана справа с текстом "Menu". Текст поменять не удается.
2. Если я создаю ToolBar для главного окна, он появляется вверху экрана, а хотелось бы его поместить там же, где и меню, т.е. внизу экрана.

Все это нужно для того, чтобы сделать интерфейс, похожий на тот, который получается при построении приложения для Windows Mobile с помощью MFC и таким образом уместить Menu и Toolbar в одной строке внизу экрана.

Я пересмотрел все примеры по QT, но ничего похожего не нашел.
Можно, конечно, и ручками меню и toolbar рисовать, но думаю, что должно быть простое решение.
Litkevich Yuriy Дата 7.9.2009, 16:56
  ничего не понял.
pluzhnikvictor Дата 7.9.2009, 13:09
  Добрый день. Проблема заключается в том, что в MenuBar меню отображается справа-внизу с надписью "Menu", а хотелось бы написать русскими буквами и отобразить панель ToolBar здесь же, как это можно сделать при помощи MFC (чтобы оставить на экране больше полезного места).

Т.е. в нижней части экрана хотелось бы видеть (слева-направо) :

Меню | toolbar(кнопки) | значок виртуальной клавиатуры.

Решал кто-нибудь подобную задачу?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 28.4.2024, 23:24