Hi, A QWidget based program built with Qt 5 (5.7.1 to be more exact) and built with Qt 4 (4.8.7) behaves differently.
I have a Linux box just with X.org, no window manager. There is an auto login user that starts X with this ~/.xinitrc : xloadimage -onroot -quiet -fullscreen /home/vision/background.jpeg setterm -blank 0 -powersave off -powerdown 0 xset s off xset -dpms xrdb ~/.Xresources exec /home/vision/bin/test5 # exec /home/vision/bin/test4 The latest lines are used to select the "test" program (main.cpp and test.pro below), built against Qt5 ("test5") or Qt4 ("test4"): // ------- main.cpp #include <QApplication> #include <QDesktopWidget> #include <QVBoxLayout> #include <QHBoxLayout> #include <QSpacerItem> #include <QWidget> #include <QString> #include <QPushButton> QHBoxLayout * horizontalLayout; QVBoxLayout * verticalLayout; int main(int argc, char *argv[]) { QApplication a(argc, argv); QWidget *widget = new QWidget(); widget->resize(800, 600); int X = qApp->desktop()->screenGeometry().width(); int Y = qApp->desktop()->screenGeometry().height(); QString resolution = QString("Screen Geometry = %1 X %2").arg(X).arg(Y); horizontalLayout = new QHBoxLayout(); horizontalLayout->setSpacing(5); horizontalLayout->setContentsMargins(11, 11, 11, 11); horizontalLayout->setSizeConstraint(QLayout::SetMinimumSize); horizontalLayout->setContentsMargins(5, 5, 5, 5); verticalLayout = new QVBoxLayout(); verticalLayout->setSpacing(5); verticalLayout->setContentsMargins(11, 11, 11, 11); verticalLayout->setSizeConstraint(QLayout::SetMinimumSize); horizontalLayout->setContentsMargins(5, 5, 5, 5); QSpacerItem * verticalSpacer_01 = new QSpacerItem(20, 10, QSizePolicy::Minimum, QSizePolicy::Expanding); QPushButton * button_01 = new QPushButton(resolution, widget); QSpacerItem * verticalSpacer_02 = new QSpacerItem(20, 10, QSizePolicy::Minimum, QSizePolicy::Expanding); QSpacerItem * horizontalSpacer_01 = new QSpacerItem(10, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); QSpacerItem * horizontalSpacer_02 = new QSpacerItem(10, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); verticalLayout->addItem(verticalSpacer_01); verticalLayout->addWidget(button_01); verticalLayout->addItem(verticalSpacer_02); horizontalLayout->addItem(horizontalSpacer_01); horizontalLayout->addItem(verticalLayout); horizontalLayout->addItem(horizontalSpacer_02); QObject::connect(button_01, SIGNAL(pressed()), widget, SLOT(close())); widget->setLayout(horizontalLayout); widget->showFullScreen(); widget->setWindowState(Qt::WindowFullScreen); return a.exec(); } // ------- end of main.cpp # -------- test.pro - it changes the TARGET according to which Qt major version used; QT += core greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = test4 greaterThan(QT_MAJOR_VERSION, 4): TARGET = test5 TEMPLATE = app DEPENDPATH += . INCLUDEPATH += . SOURCES += main.cpp # -------- end of test.pro Although using any of the window managers I've tested results the same (very little visual differences), the Qt-5 version is unable to go full screen when not using a window manager, although it is able to read the screen resolution. I've tried to mangle a full screen, but the widget is unable to show anything on the region that it didn't reach at start. I mean, if the program starts as a partial window and I set it up to resize to full screen resolution, the new area is not used to paint anything. Is it a bug, or will I **have to** use a window manager? In fact, the application I run in this box is the only one that will run at all and the only one available, so I thought I would never need a window manager. Thanks a lot. Francisco
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest