Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [qt4] основы работы с OpenGL под Qt


Автор: kuvshinka 2.3.2010, 15:01
Подскажите пож-та:
1. в чем ошибки в приложении и как их исправить? (см. архив). Вроде все делаю по книге Макса Шлее о Qt, а ошибки все равно лезут….
2. в приложенном архиве программы: хочу на frame_2 (или на какой-то другой (какой?) виджет, расположенный на данном фрейме) формы mainwindow выводить какую-либо (допустим движущийся слева направо квадрат) 2D-графику OpenGL, которая “рисуется” в классе form2 формы form2 на каком-то виджете, который “поддерживает” работу с OpenGL. Все это проделывается с учетом того, что во фрейм frame_2 формы mainwindow будет выводиться разная графика в зависимости от нажатой кнопки на форме form2. Подскажите (желательно программно) что, к чему и как надо делать для такой задачи?

Автор: kuvshinka 2.3.2010, 20:27
неужели никто не работал с OpenGL под Qt? подскажите пож-та по поводу ошибок (см. выше п.1) и какой виджет можно использовать для вывода на него OpenGL-графики?

Автор: kemiisto 2.3.2010, 21:28
Цитата(kuvshinka @  2.3.2010,  21:27 Найти цитируемый пост)
неужели никто не работал с OpenGL под Qt?

Многие работали. Но, признаться, такого феерического бреда я давненько не видел.

kuvshinka, Вас не туда, простите, "понесло". Судя по Вашему коду, Вы не в состоянии писать даже хелло ворлды, а "лезете" в OpenGL... До добра это не доведёт... Куда Вы торопитесь?

Цитата(kuvshinka @  2.3.2010,  21:27 Найти цитируемый пост)
какой виджет можно использовать для вывода на него OpenGL-графики? 

QGLWidget. Разбирать пример с говорящим названием http://qt.nokia.com/doc/4.6/opengl-hellogl.html.

Автор: kuvshinka 2.3.2010, 22:16
kemiisto : спасибо конечно за пример....но что конкретно Вам показалось "бредом" в моем вопросе? и о чем можно судить по "коду" из программы-архива? там и программы-то нет - просто сразу возникли вопросы по работе с OpengL в Qt - вот и спросила...и никуда я не тороплюсь...
хотя бы ответьте пож-та что у меня в архивной программе неверно...

Автор: Elfet 2.3.2010, 22:42
kuvshinka, не стоит у формы наследоваться от QGLWidget
Код

class Form2 : public QWidget , public  Ui::Form2,  public QGLWidget

Попробуйте создать виджет унаследованный от  QGLWidget и разместить его на форме.

Автор: kemiisto 2.3.2010, 22:43
Цитата(kuvshinka @  2.3.2010,  23:16 Найти цитируемый пост)
но что конкретно Вам показалось "бредом" в моем вопросе?

Не в вопросе, в коде. 

Цитата(kuvshinka @  2.3.2010,  23:16 Найти цитируемый пост)
 о чем можно судить по "коду" из программы-архива?

Обо многом. Во-первых, тяп-ляпничество это, а не код. Во-вторых, документацию не читаем.

Цитата(kuvshinka @  2.3.2010,  23:16 Найти цитируемый пост)
хотя бы ответьте пож-та что у меня в архивной программе неверно...

Ответ "всё" Вас устроит?

Ссылку на пример я дал. Там чёрным по белому написано:
Цитата
Qt provides the QGLWidget class to enable OpenGL graphics to be rendered within a standard application user interface. By subclassing this class, and providing reimplementations of event handler functions, 3D scenes can be displayed on widgets that can be placed in layouts, connected to other objects using signals and slots, and manipulated like any other widget.

А теперь потрудитесь показать, где в Вашем архиве описан класс, унаследованный от QGLWidget?

Цитата(kuvshinka @  2.3.2010,  16:01 Найти цитируемый пост)
Вроде все делаю по книге Макса Шлее о Qt, а ошибки все равно лезут….

Будь я автор, я бы Вам за такое "прописал". smile Я Вам не верю. Разве что Вы читали книгу вверх ногами...

Автор: kuvshinka 3.3.2010, 11:40
Вроде разобралась с использованием OpenGL под Qt, но пара вопросов все равно осталась:
1.как мне сделать размещение виджета-наследника от QGLWidget не во всю форму, а заданных размеров? 
2. каким образом можно сделать вывод этого “OpenGL”-виджета во фрейм frame формы mainwindow.ui, а не на непосредственно саму форму?
см. прилагаемый архив программы… 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)