crossplatform.ru

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

5 страниц V   1 2 3 > »   
Ответить в данную темуНачать новую тему
> QScrollArea, скоролы не появляются
RazrFalcon
  опции профиля:
сообщение 13.8.2010, 21:30
Сообщение #1


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Раскрывающийся текст
Такая вот проблема, вниз этих QGraphicsView уходит еще с 10-ок, но что б я не делал скролы не реагируют никак.
Скрол бары выставлены в примере "показывать всегда", так как если выставить "показывать при необходимости" то они просто не появляются.
Пробовал управлять баром отдельно и через создание QVBoxLayout с QGraphicsView, ничего.
Добавляю так:
    for(int i=0;i<gv_count;i++)
    {
        list.append(new QGraphicsView(scrollArea));
        //list.append(new QGraphicsView(scrollAreaWidgetContents));
    }

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 13.8.2010, 21:41
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


а как ты управляешь размещением виджетов внутри QScrollArea?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 13.8.2010, 21:58
Сообщение #3


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Цитата(Litkevich Yuriy @ 13.8.2010, 21:41) *
а как ты управляешь размещением виджетов внутри QScrollArea?
Всмысле?
Это что ли?
void MainWindow::resizeEvent(QResizeEvent *e)
{
    scrollArea->setGeometry(0,0,width()-100,height());
    int x=10, y=10, c=0;
    int  k=(scrollArea->width())/(gviev_wight+20);
    for (int i=0; i<list.count();i++)
    {
        list[i]->setGeometry(x,y,gviev_wight,gviev_height);
        x+=gviev_wight+10;
        c++;
        if (c==k) {y+=gviev_height+10; x=10; c=0;}
    }
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 13.8.2010, 22:42
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(RazrFalcon @ 14.8.2010, 1:58) *
Всмысле?
в прямом, ты их помещаешь в компоновщик установленный для QScrollArea?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 13.8.2010, 23:42
Сообщение #5


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Цитата(Litkevich Yuriy @ 13.8.2010, 22:42) *
ты их помещаешь в компоновщик установленный для QScrollArea?

Я не понимаю. :unsure: Какой компоновщик, QVBoxLayout что ли, если да то на него а его потом в арию. А вообще, просто все QGraphicsView скидываю в Арию и каждому задаю позицию внутри.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 14.8.2010, 0:23
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(RazrFalcon @ 14.8.2010, 3:42) *
Какой компоновщик, QVBoxLayout что ли
ну хотябы его, но судя по снимку экрана должен быть QGridLayout
Приведи эту часть кода (компоновка области прокрутки)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 14.8.2010, 16:28
Сообщение #7


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Litkevich Yuriy, В том то и дело что QVBoxLayout и QGridLayout не подходят, я в 3-м сообщении привел код, там циклом раскидываются просто, после ресайза окна.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ufna
  опции профиля:
сообщение 14.8.2010, 16:49
Сообщение #8


Активный участник
***

Группа: Участник
Сообщений: 362
Регистрация: 24.5.2008
Из: Курган/СПб
Пользователь №: 182

Спасибо сказали: 29 раз(а)




Репутация:   5  


на вид и цикл - типичный grid.

И откуда взяться скроллу, если виджет-родитель у тебя размер нигде не меняет? ну пусть виджет 600х400, а внутри него его дитятке ты ставишь (800,800,10,10) - размер родителя не меняется.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 14.8.2010, 17:00
Сообщение #9


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Впихнул все QGraphicsView на виджет, виджет в скрол арию, виджет заведомо огромного размера. Толку 0. Для наглядности кинул mdiArea серую чтоб видно было сам виджет.
widget->setGeometry(100,100,width()+200,height()+200);
Раскрывающийся текст


Сообщение отредактировал RazrFalcon - 14.8.2010, 17:04
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 14.8.2010, 17:54
Сообщение #10


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(RazrFalcon @ 14.8.2010, 20:28) *
QGridLayout не подходят
а чем не подходит? Судя по снимку экрана, оно и есть
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

5 страниц V   1 2 3 > » 
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


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




RSS Текстовая версия Сейчас: 23.4.2024, 23:17