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
ディスカッション
コメント一覧
まだ、コメントがありません