2
まあ、最近、Qt 5.1.1でOpenGLライブラリを使用しようとしています。私はなぜQtウィジェットに三角形を描くのですか
#ifndef GLWIDGET_H
#define GLWIDGET_H
#include <QGLWidget>
#include <core.hpp>
#include <cv.hpp>
#include <GL/glut.h>
class GLWidget : public QGLWidget
{
Q_OBJECT
public:
explicit GLWidget(QWidget *parent = 0);
void initializeGL();
void paintGL();
void resizeGL(int w, int h);
signals:
public slots:
private:
};
#endif // GLWIDGET_H
と、ここで、クラスのヘッドファイルのcppファイルをmainwindow.uiにウィジェットを追加し、ここで
がクラスで、クラスにそれを促進#include "glwidget.h"
GLWidget::GLWidget(QWidget *parent) :
QGLWidget(parent)
{
}
void GLWidget::initializeGL()
{
glClearColor((GLclampf)0, (GLclampf)0, \
(GLclampf)1, (GLclampf)1);
}
void GLWidget::paintGL()
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 0, 0);
glBegin(GL_TRIANGLES);
glVertex3f(-0.5, -0.5, 0);
glVertex3f(0.5, -0.5, 0);
glVertex3f(0.0, -0.5, 0);
glEnd();
}
void GLWidget::resizeGL(int w, int h)
{
}
しかし、paintGL()
のコードはうまくいかないようですが、私はinitializeGL()
のコードを変更するだけで背景の色を変えることができます。
プロジェクトの出力は、次のとおり
がアップデートの通りです:私は申し訳ありませんが、私はあなたがセットアップ任意のカメラ行列をしませんでしたので、あなた.pro
ファイル
#-------------------------------------------------
#
# Project created by QtCreator 2016-04-27T13:28:29
#
#-------------------------------------------------
QT += core gui opengl
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = gradDesign
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp \
showimage.cpp \
glwidget.cpp
HEADERS += mainwindow.h \
showimage.h \
glwidget.h
FORMS += mainwindow.ui \
showimage.ui
INCLUDEPATH +=F:\\opencv30\\build\\include \
F:\\opencv30\\build\\include\opencv \
F:\\opencv30\build\\include\\opencv2 \
F:\\freeglut\\include
CONFIG +=debug_and_release
CONFIG(debug, debug|release)
{
LIBS +=F:\\opencv30\\build\\x86\\vc12\\lib\\opencv_ts300d.lib \
F:\\opencv30\\build\\x86\\vc12\\lib\\opencv_world300d.lib \
F:\\freeglut\\build\\lib\\freeglutd.lib \
F:\\freeglut\\build\\lib\\freeglut_staticd.lib
}
CONFIG(release, debug|release)
{
LIBS +=F:\\opencv30\\build\\x86\\vc12\\lib\\opencv_ts300.lib \
F:\\opencv30\\build\\x86\\vc12\\lib\\opencv_world300.lib \
F:\\freeglut\\build\\lib\\freeglut.lib \
F:\\freeglut\\build\\lib\\freeglut_static.lib
}
RC_ICONS = uestc.ico
thx多くのカメラのbeacuseです。どうも。 –