It always was a good programming practice that UI thread separated from working thread. Users doesn’t like when UI just freezes. These days, multithreading programming is not a rocket science and, fortunately, Qt have all that you need to create multuthreded applications. But what about OpenGL rendering in separate thread? What if you want OpenGL to do some off screen job for you while you interacting with user?
Here is some tips how to do this in Qt 5:
If you planning to create several OpenGL threads within your application, don’t forget to call doneCurrent() method of QOpenGLContext. Then it makes sense to destroy context and recreate it in different thread. At least, this works pretty solid for me (Qt 5.1 for Linux)