Po prostu chcę zrobić grę pełnoekranową. Wiem, jak zmienić rozdzielczość w systemie Windows, ale jak mogę zmienić rozdzielczość w systemie Linux? Czy istnieje rozwiązanie cross-QT dla tego rozwiązania? Mam również granice wokół mojej GLWidget. Jak sprawić, by widget obejmował całe okno?Jak zmienić rozdzielczość ekranu za pomocą QT, OpenGL, C++ i Linux?
jestem po prostu zamiar opublikować kod:
#include <QtOpenGL>
class GLWidget : public QGLWidget
{
public:
void initializeGL()
{
glClearColor(0.0f, 0.0f, 1.0f, 0.0f);
glClearDepth(1.0f);
}
void paintGL()
{
glClear(GL_COLOR_BUFFER_BIT);
}
void resizeGL(int width, int height)
{
int side = qMin(width, height);
glViewport((width - side)/2, (height - side)/2, side, side);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-0.5f, +0.5f, -0.5f, +0.5f, 4.0f, 15.0f);
glMatrixMode(GL_MODELVIEW);
}
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QDesktopWidget *desktop = app.desktop();
QWidget window;
GLWidget *glWidget = new GLWidget;
QHBoxLayout *mainLayout = new QHBoxLayout;
mainLayout->addWidget(glWidget);
window.setLayout(mainLayout);
window.setWindowTitle("Hello GL");
window.resize(QSize(640, 480));
window.show();
window.showFullScreen();
return app.exec();
}
SDL jest prawdopodobnie lepszy zestaw narzędzi do gier niż Qt. –
Zobacz [xrandr] (http://www.thinkwiki.org/wiki/Xorg_RandR_1.2). – Linuxios
Ktoś [już to zadał] (http://stackoverflow.com/questions/3372252/changing-the-screen-resolution-from-qt). – sashoalm