setWindowFlagsの種類
Qt(PySide/PyQt)のwidgetには色々なWindowTypeを指定することができますが
主に使用するWindowTypeのタイプはデフォルトのQt.Widgetをはじめ、11種類程度存在しています
Qt.Widget
Qt.Window
Qt.Dialog
Qt.Sheet
Qt.Drawer
Qt.Popup
Qt.Tool
Qt.ToolTip
Qt.SplashScreen
Qt.Desktop
Qt.SubWindow
WindowTypeをmayaで表示すると上の画像のようになります
※ Qt.Desktopはウィジェットがデスクトップとして示すWindowTypeですがmayaでは使用できません
setWindowFlagsの複数設定
setWindowFlagsを複数設定する場合、setWindowFlagsに設定したいタイプを指定します
ここで注意する点が設定するタイプを区切るときに【,】を使うのではなく【|】を使用する必要があります
#!/usr/bin/env python # -*- coding: utf-8 -*- try: from PySide.QtGui import * from PySide.QtCore import * except: from PySide2.QtGui import * form PySide2.QtWidgets import * from PySide2.QtCore import * class example(QMainWindow): def __init__(self): super(example, self).__init__() self.setWindowFlags(Qt.Dialog|Qt.WindowStaysOnTopHint) self.initUI() def initUI(self): self.show() def main(): app = QApplication.instance() ex = example() sys.exit() app.exec_() if __name__ == '__main__': main()
上記のコードはQt.DialogとQt.WindowStaysOnTopHint(ウィンドウを常に上に表示するタイプ)を使用したサンプルコードです
ここでは、必要なインポートを提供します。基本的なGUIウィジェットはQtGuiモジュール内にあります。
self.setWindowFlags(Qt.Dialog|Qt.WindowStaysOnTopHint)
QMainWindowのclassにsetWindowFlagsでQt.DialogとQt.WindowStaysOnTopHintを適応しています
この他にもwindowをフレームレスにするQt.FramelessWindowHintなどがあります
※ 詳しい情報は各ドキュメントを参照してください
PySide.QtCore.PySide.QtCore.Qt.WindowType
PySide2.QtCore.PySide2.QtCore.Qt.WindowType
enum Qt::WindowType flags Qt::WindowFlags
ディスカッション
コメント一覧
まだ、コメントがありません