1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<code>#include <qtgui/qguiapplication></code>
<code>#include <qdebug></code>
<code>#include <qscreen></code>
<code>#include "qtquick2applicationviewer.h"</code>
<code>int</code> <code>main(</code><code>int</code>
<code>argc,</code><code>char</code>
<code>*argv[])</code>
<code>{</code>
<code> </code><code>qguiapplication app(argc, argv);</code>
<code> </code><code>qscreen *screen=app.screens()[0];</code>
<code> </code><code>int</code>
<code>width=screen->size().width();</code>
<code>height=screen->size().height();</code>
<code> </code><code>qtquick2applicationviewer viewer;</code>
<code> </code><code>viewer.setmainqmlfile(qstringliteral(</code><code>"qml/untitled2/main.qml"</code><code>));</code>
<code> </code><code>viewer.setmaximumsize(qsize(500,500));</code>
<code> </code><code>viewer.setminimumsize(qsize(500,500));</code>
<code> </code><code>viewer.setflags(qt::windowclosebuttonhint);</code><code>//qt::framelesswindowhint |</code>
<code> </code><code>viewer.setposition(width/2 - viewer.width()/2 , height/2 - viewer.height()/2 );</code>
<code> </code><code>viewer.show();</code>
<code> </code><code>return</code>
<code>app.exec();</code>
<code>}</code>
viewer.setmaximumsize(qsize(500,500));
viewer.setminimumsize(qsize(500,500));
viewer.setflags(qt::windowclosebuttonhint);
只需要这三句就行,前两句是固定了这个窗口的大小。
经过实验发现,如果不固定窗口大小就直接设置viewer.setflags(qt::windowclosebuttonhint);窗口还会显示最大化按钮(无最小化)
只有固定了窗口大小才行。
但是,如果单独只固定窗口大小,那连程序退出键都没有。
可能有更好的方法我没有发现
这是在linux上的,windows上我试过qt4.8.1的,可以直接通过setwindowflags就能做到