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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QScrollArea + QGLWidget = глюк  (Прочитано 3311 раз)
fulkabaster
Гость
« : Июнь 14, 2009, 17:47 »

Создаю свой виджет, наследующий QGLWidget. Прикрепляю к нему QScrollArea, т.к. виджет может быть большим в зависимости от рисунка. Но иногда возникают глюки, например (в винде), при прокрутке бывает рисунок OpenGL вылезает вообще за область окна приложения и стирает собой рабочий стол и даже виндосовский таскбар.
У меня подозрение на неправильную работу QScrollArea. Вообще я с ним проковырялся долго, пока он не заработал хотя бы так. В мануале пример с ним простейший, когда QScrollArea является фактически главным виджетом приложения, у меня не так.

В общем, задачка такая. Есть главное окно, на нем только однин OpenGL-вский виджет - потомок QGLWidget. Нужно правильно прикрутить к нему полосы прокрутки, чтобы рисунок можно было смотреть, когда он не помещается в окне.
Методом экспериментирования я дошел до такого варианта - в конструкторе главного окна делаю так (plotter - openGL-вский виджет):

scrollArea = new QScrollArea;
scrollArea->setWidget(plotter);
this->setCentralWidget(scrollArea);
QGridLayout *layout = new QGridLayout;
layout->addWidget(plotter);
this->setLayout(layout);

Причем если не сделать layout, то не видно никакой области прокрутки. Равно как если не сделать и setCentralWidget.
Может быть я что-то упустил, еще какое-нить важное свойства области прокрутки не поднастроил. Как бы сделали вы, чтобы добиться той же цели?
Записан
rapaks
Гость
« Ответ #1 : Август 03, 2010, 08:52 »

Столкнулся с такойже проблемой.
И еще несколько багов попутных обнаружил - в общем все они в версии 4.5.2 проявляются а в новой 4.6.2 их пофиксили.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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