1
私はOpenGLで動作するプログラムを持っています。これはQtで動作するはずです。いくつかのことはちょっと違っていて、今私はkeypressevent-functionで苦労しています。私はキーを押して(後でボタンを押して)変更する必要があるグローバル変数を持っています。QtへのOpenGLコードの適合(特別にkeyPressEvent)
int modus = -1;
void GLWidget::keyPressEvent(QKeyEvent* event)
{
switch (event->key())
{
case Qt::Key_F2 :
modus = 1;
updateGL();
break;
default:
break;
}
}
これは(変数がmousePressEventで使用されるべきで変更)
void GLWidget::mousePressEvent(QMouseEvent* e)
{
if (modus == 1 && (e->buttons() & Qt::LeftButton))
{
counter++;
p_list[counter].x = mx - width1/2;
p_list[counter].y = my - height1/2;
glPointSize(5);
glColor3d(1, 0, 0);
updateGL();
}
}
OpenGLは入力を行いません。あなたは本当に*どのGUIフレームワークから変換していますか? – genpfault
あなたの質問は何ですか? –
ところで、 'updateGL'を直接呼び出さないでください。他の' QWidget'と同じように 'update'を呼び出してください。 –