Здравствуйте, гость ( Вход | Регистрация )
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 |
Рад помочь. А почему бы тогда сразу не сделать так?
|
|
pluzhnikvictor | Дата 8.9.2009, 8:27 |
Могу предложить попробовать: 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(кнопки) | значок виртуальной клавиатуры. Решал кто-нибудь подобную задачу? |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 28.4.2024, 23:24 |