2010年3月16日 星期二

在Qt中建立不顯示標題欄、邊框的的窗口

QT 無邊框

viewerWindow->setWindowFlags(Qt::FramelessWindowHint); 
在創建窗口的地方的
Qt::WindowFlags 設為 Qt::SplashScreen 可以達到。。

也可以設置成 Qt::FramelessWindowHint | Qt::CustomizeWindowHint 也可以達到。。。自己試試多幾種的組合吧,我的就是試出來的。


Qt::WindowFlags f =Qt::Dialog | Qt::FramelessWindowHint | Qt::CustomizeWindowHint


可以通過QWidget類的setWFlags()函數來設定Qt::FramelessWindowHint來完成(繼承自QWidget的類也是如此,比如QMainWindow)。
比如:

QMainWindow mainWindow;
Qt::WindowFlags flags = 0;
flags |= Qt::FramelessWindowHint;
mainWindow.setWindowFlags(flags);
mainWindow.setFixedSize;

相關的類似屬性還有:
Qt::FramelessWindowHint
Qt::WindowTitleHint
Qt::WindowSystemMenuHint
Qt::WindowMinimizeButtonHint
Qt::WindowMaximizeButtonHint
Qt::WindowContextHelpButtonHint
Qt::WindowShadeButtonHint
Qt::WindowStaysOnTopHint
Qt::CustomizeWindowHint

具體可在http://doc.trolltech.com/3.3/qt.html#WidgetFlags-enum查到所有的Flags。

沒有留言: