#include <QtGui/QGuiApplication> #include <QDebug> #include <QScreen> #include "qtquick2applicationviewer.h" int main(int argc, char *argv[]) { QGuiApplication app(argc, argv); QScreen *screen=app.screens()[0]; int width=screen->size().width(); int height=screen->size().height(); QtQuick2ApplicationViewer viewer; viewer.setMainQmlFile(QStringLiteral("qml/untitled2/main.qml")); viewer.setMaximumSize(QSize(500,500)); viewer.setMinimumSize(QSize(500,500)); viewer.setFlags(Qt::WindowCloseButtonHint);//Qt::FramelessWindowHint | viewer.setPosition(width/2 - viewer.width()/2 , height/2 - viewer.height()/2 ); viewer.show(); return app.exec(); }
viewer.setMaximumSize(QSize(500,500));
viewer.setMinimumSize(QSize(500,500));
viewer.setFlags(Qt::WindowCloseButtonHint);
只需要这三句就行,前两句是固定了这个窗口的大小。
经过实验发现,如果不固定窗口大小就直接设置viewer.setFlags(Qt::WindowCloseButtonHint);窗口还会显示最大化按钮(无最小化)
只有固定了窗口大小才行。
但是,如果单独只固定窗口大小,那连程序退出键都没有。
可能有更好的方法我没有发现
这是在linux上的,windows上我试过qt4.8.1的,可以直接通过setWindowFlags就能做到