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等で常に前面に表示することが可能です。