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就能做到