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_())
上一篇:pyqt4 QTextEdit-如何设置MaxLength?


下一篇:结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程