試試這個:
mdiArea->addSubWindow(new QLabel("Qt::FramelessWindowHint"), Qt::FramelessWindowHint);
你不想設置MDI區域本身作爲一個無框窗,因爲它是你可能已經嵌入到另一個窗口小部件...它很可能已經沒有按」沒有框架。
你設置「子窗口」應該工作...但實際上addSubWindow(myWidget)
包裹在真正子窗口傳入的窗口小部件,所以這是發生了什麼事情錯了。 Qt讓你通過窗口標誌作爲addSubWindow()
的第二個參數,這些標誌轉到真正的子窗口。
請注意,對於無框窗口,您不能拖動窗口來移動窗口,或者抓住邊緣來調整窗口大小,因爲沒有任何東西可以抓住!
如果您只想將最小化和最大化按鈕消失(但仍然希望關閉按鈕),請嘗試傳遞Qt::Dialog
。
嘗試也與這些實驗:
addSubWindow(new QLabel("Qt::Tool"), Qt::Tool);
addSubWindow(new QLabel("Qt::Tool|Qt::CustomizeWindowHint"), Qt::Tool|Qt::CustomizeWindowHint);
addSubWindow(new QLabel("Qt::Dialog"), Qt::Dialog);
我覺得Qt::Tool|Qt::CustomizeWindowHint
可能是最好的選擇(沒有任何按鍵,但是仍然可移動和resizable - 如果你不希望它可調整大小,給它一個固定大小( setFixedSize()
)
編輯:也可以嘗試:Qt::CustomizeWindowHint|Qt::WindowTitleHint
你所說的 '頂部工具欄' A [工具]的意思(http://en.wikipedia.org/wiki/Toolbar)是有bu的區域通過它(例如Microsoft Office程序中的Ribbon界面)。你的意思是[標題欄](http://en.wikipedia.org/wiki/Titlebar)? –
是的標題欄...對不起混合了兩件事...謝謝你的回覆... – Sid411