Russian Qt Forum
Ноябрь 24, 2024, 14:42 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QToolbar  (Прочитано 4632 раз)
blood_shadow
Гость
« : Октябрь 09, 2010, 14:27 »

Добрый день.
1. Размещаю панель инструментов, которая состоит из 2 груп Одна Edit другая Exit, кнопку exitToolBar необходимо сделать с самого края справа, но получаеться что она лезет вниз вправо
Код:
editTableToolBar = addToolBar(tr("Правка"));
    editTableToolBar->addAction(addAction);
    editTableToolBar->addAction(changeAction);
    editTableToolBar->addAction(deleteAction);
    editTableToolBar->addSeparator();
    editTableToolBar->setMovable(false);

    exitToolBar = new QToolBar(tr("Выход"));
    exitToolBar->addAction(exitAction);
    addToolBar(Qt::RightToolBarArea, exitToolBar);


а нужно чтобы все было в одной строке

2. Почему не работает такая конструкция(вообще никакого результата):
Код:
    exitToolBar = new QToolBar(tr("Вихід"));
    exitToolBar->addAction(exitAction);
    exitToolBar->setAllowedAreas(Qt::TopToolBarArea | Qt::RightToolBarArea);
    addToolBar(exitToolBar);
Записан
shirushizo
Гость
« Ответ #1 : Октябрь 09, 2010, 15:13 »

>1. Метод addToolBar(Qt::RightToolBarArea, exitToolBar); добавляет на правую панель, а не устанавливает привязку к правой границе.
>2. Метод setAllowedAreas(Qt::TopToolBarArea | Qt::RightToolBarArea) определяет в какие панели можно переместить тулбар. (по умолчания все 4, вроде).

Костыльный вариант:
   
Код:
editTableToolBar = addToolBar(tr("Правка"));
    editTableToolBar->addAction(addAction);
    editTableToolBar->addAction(changeAction);
    editTableToolBar->addAction(deleteAction);
    //editTableToolBar->addSeparator(); разделитель не нужен
    editTableToolBar->setMovable(false);
    addToolBar(Qt::TopToolBarArea, editTableToolBar);

    exitToolBar = new QToolBar(tr("Выход"));
    exitToolBar->addAction(exitAction);
    exitToolBar->setLayoutDirection(Qt::RightToLeft);
    addToolBar(Qt::TopToolBarArea, exitToolBar);

Придобавлении новых QAction в exitToolBar они будут добавляться слева от кнопки выключения, из-за setLayoutDirection(Qt::RightToLeft);
« Последнее редактирование: Октябрь 09, 2010, 15:32 от shirushizo » Записан
blood_shadow
Гость
« Ответ #2 : Октябрь 09, 2010, 15:50 »

Придобавлении новых QAction в exitToolBar они будут добавляться слева от кнопки выключения, из-за setLayoutDirection(Qt::RightToLeft);
Ага теперь понятно спасибо  Улыбающийся

Цитировать
>2. Метод setAllowedAreas(Qt::TopToolBarArea | Qt::RightToolBarArea) определяет в какие панели можно переместить тулбар. (по умолчания все 4, вроде).

Еще одно, тоесть я установил что можно пихать кнопки только вверх и справа, но не влево и вниз?
Записан
shirushizo
Гость
« Ответ #3 : Октябрь 09, 2010, 16:52 »

Именно так.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.227 секунд. Запросов: 20.