Название: QScrollArea + QGLWidget = глюк Отправлено: 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. Может быть я что-то упустил, еще какое-нить важное свойства области прокрутки не поднастроил. Как бы сделали вы, чтобы добиться той же цели? Название: Re: QScrollArea + QGLWidget = глюк Отправлено: rapaks от Август 03, 2010, 08:52 Столкнулся с такойже проблемой.
И еще несколько багов попутных обнаружил - в общем все они в версии 4.5.2 проявляются а в новой 4.6.2 их пофиксили. |