QDialog如何添加最小化提示?

问题描述 投票:0回答:0

我有一个非模态对话框,它出现在应用程序中其他小部件的顶部。但是当来自不同应用程序的另一个窗口覆盖它时,它会被隐藏。这正是我所追求的。

但是,我正在努力将最小化按钮添加到它的标题栏。

这是我最初尝试的一个基本示例:

from PySide2 import QtCore, QtWidgets

class TestDialog(QtWidgets.QDialog):
    def __init__(self, parent=None):
        super(TestDialog, self).__init__(parent)
        self.resize(200, 100)
        self.setWindowFlags(self.windowFlags() |
                            QtCore.Qt.WindowMinimizeButtonHint)

dialog = TestDialog()
dialog.show()

(但它没有添加最小化提示)

这里有一个添加最小化提示的例子:

class TestDialog(QtWidgets.QDialog):
    def __init__(self, parent=None):
        super(TestDialog, self).__init__(parent)
        self.resize(200, 100)
        self.setWindowFlags(QtCore.Qt.WindowMinimizeButtonHint |
                            QtCore.Qt.WindowCloseButtonHint)

(但是当我点击应用程序中的其他地方时小部件被隐藏)

这是一个位于顶部的示例:

class TestDialog(QtWidgets.QDialog):
    def __init__(self, parent=None):
        super(TestDialog, self).__init__(parent)
        self.resize(200, 100)
        self.setWindowFlags(QtCore.Qt.WindowMinimizeButtonHint |
                            QtCore.Qt.WindowCloseButtonHint | 
                            QtCore.Qt.WindowStaysOnTopHint)

(但这会保留在所有窗口的顶部,甚至来自其他应用程序)

有没有办法在不引入不良副作用的情况下添加最小化按钮?

谢谢

pyqt5 pyside pyside2
© www.soinside.com 2019 - 2024. All rights reserved.