编程语言
首页 > 编程语言> > python-PyQT中的弹出式非模式嵌入式对话框

python-PyQT中的弹出式非模式嵌入式对话框

作者:互联网

在这里很难描述我想要做什么,所以这就是我想要的:

-单击“弹出”对话框的按钮.

-但是,此对话框应为非模式对话框.

-我也希望它可以与父应用程序“锁定”在一起,所以如果我移动它,它也将随之而来.

似乎我或多或少都在尝试描述嵌入式弹出窗口,但是我不确定这是否就是所谓的弹出窗口,甚至不确定如何解决该问题.那么,PyQt专家,您将如何制作这样的东西?提前致谢.

解决方法:

要获取无模式对话框,请使用show()而不是exec_()打开它.

为确保对话框“与父应用程序锁定”,请在对话框的构造函数中设置父窗口.

from PyQt4 import QtGui

class Window(QtGui.QWidget):
    def __init__(self):
        QtGui.QWidget.__init__(self)
        button = QtGui.QPushButton('Open Dialog', self)
        button.clicked.connect(self.handleOpenDialog)
        self.resize(300, 200)
        self._dialog = None

    def handleOpenDialog(self):
        if self._dialog is None:
            self._dialog = QtGui.QDialog(self)
            self._dialog.resize(200, 100)
        self._dialog.show()

if __name__ == '__main__':

    import sys
    app = QtGui.QApplication(sys.argv)
    win = Window()
    win.show()
    sys.exit(app.exec_())

标签:pyqt,dialog,pyqt4,python
来源: https://codeday.me/bug/20191202/2086260.html