画像




QGISで、ウィンドウを常に前面表示するにはQtを利用して下記のように記述します。

今回は前もってQtDesigner等で任意のウィンドウを作成しておきます。



# -*- coding: utf-8 -*-

# QGIS2ではPyQt4.QtGui, PyQt4.QtGui
from PyQt4.QtCore import *
from PyQt4.QtGui import *

# QGIS3ではPyQt5.QtGui, PyQt5.QtGui
from PyQt5.QtCore import *
from PyQt5.QtGui import *

class Ui_DialogBase(object):
def setupUi(self, DialogBase):
DialogBase.setObjectName("DialogBase")
DialogBase.resize(220, 75)

self.setWindowFlags(Qt.WindowStaysOnTopHint)

self.pushButton_add = QPushButton(DialogBase)
self.pushButton_add.setGeometry(QRect(60, 10, 100, 40))
font = QFont()
font.setPointSize(9)
self.pushButton_add.setFont(font)
self.pushButton_add.setObjectName("pushButton_add")
self.retranslateUi(DialogBase)
QMetaObject.connectSlotsByName(DialogBase)

def retranslateUi(self, DialogBase):
DialogBase.setWindowTitle(u"sample")
self.pushButton_add.setText(u"add")

class SampleDialog(QDialog, Ui_DialogBase):
def __init__(self, parent=None):
super(SampleDialog, self).__init__(parent)
self.setupUi(self)

sd = SampleDialog()
sd.show()


実行すると常に前面になったウィンドウが表示されます。


ウィンドウを常に前面にする:


self.setWindowFlags(Qt.WindowStaysOnTopHint)


Qtで作成したウィンドウを、QGIS等で常に前面に表示することが可能です。





book


Q&A