Russian Qt Forum
Июля 07, 2025, 18:48 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QScrollBar крупнее  (Прочитано 3210 раз)
fly
Гость
« : Июля 18, 2010, 12:50 »

Здравствуйте!
Имеется ScrollArea, хочу сделать её ScrollBarы крупнее, чтоб на тачскрине попасть можно было.
Попытался внаглую растянуть ui.thumbnailsScrollArea->verticalScrollBar()->setMinimumWidth(100) - не прокатило.
Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #1 : Июля 18, 2010, 17:57 »

style sheet?
Записан
Prm
Гость
« Ответ #2 : Июля 19, 2010, 15:00 »

Для тачскрина делал так.

Вариант1(предпочтительный): Создал класс-наследник от QPlastiqueStyle и переопределил функцию

Код:
int GUIStyle::pixelMetric( PixelMetric metric, const QStyleOption * option, const QWidget * widget) const
{
    switch(metric)
    {
        case QStyle::PM_ScrollBarExtent:            return 40;
        case QStyle::PM_SplitterWidth:              return 20;
        case QStyle::PM_IndicatorWidth:             return 25;      //checkBox
        case QStyle::PM_IndicatorHeight:            return 25;      //checkBox
        case QStyle::PM_ExclusiveIndicatorWidth:    return 25;      //radioButton
        case QStyle::PM_ExclusiveIndicatorHeight:   return 25;      //radioButton
        case QStyle::PM_ButtonIconSize:             return 32;
        case QStyle::PM_ButtonMargin:               return 30;
        case QStyle::PM_MenuBarVMargin:             return 15;
        default:                                    return QPlastiqueStyle::pixelMetric(metric,option,widget);
    }
}

Далее устанавливал стиль приложению
Код:
qApp->setStyle(new GUIStyle); 

Можно и другие методы переопределить - вообще красота будет!

Вариант 2: У приложения вызвать функцию
Код:
app.setGlobalStrut(QSize(40, 40));

Записан
mal
Гость
« Ответ #3 : Октября 10, 2012, 11:40 »

искали сейчас решение с коллегой по этому вопросу тут на форуме - как то некузяво все, в итоге сделали вот так:

QSize QScrollBar::sizeHint() const
{
   Qt::Orientation ori = orientation();
   if( ori == Qt::Vertical ) return QSize( 35, 15 );
   return QSize( 15, 15 );
}

Вуаля  Веселый
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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