• 对话框类控件-QDialog


    QDialog类的子类主要有QMessageBox、QFileDialog、QFontDialog、QInputDialog等。

    QDialog类中的常用方法:

      setWindowTitle()    设置对话框标题

      setWindowModality()  设置窗口模态。取值如下:

                   Qt.NonModal,非模态,可以和程序的其他窗口交互

                   Qt.WindowModal,窗口模态,程序在未处理完当前对话框时,将阻止和对话框的父窗口进行交互。

                   Qt.ApplicationModal,应用程序模态,阻止和任何其他窗口进行交互

    案例20  QDialog的使用

    import sys
    from PyQt5.QtCore import Qt
    from PyQt5.QtWidgets import QWidget, QApplication, QDialog, QPushButton
    
    
    class DialogDemo(QWidget):
        def __init__(self, parent=None):
            super().__init__(parent)
            self.setWindowTitle("Dialog 例子")
            self.resize(350, 300)
    
            self.btn = QPushButton(self)
            self.btn.setText("弹出对话框")
            self.btn.move(50, 50)
            self.btn.clicked.connect(self.showdialog)
    
        def showdialog(self):
            dialog = QDialog()
            btn = QPushButton("OK", dialog)
            btn.move(50, 50)
            dialog.setWindowTitle("Dialog")
            dialog.setWindowModality(Qt.ApplicationModal)
            dialog.exec_()
    
    
    if __name__ == "__main__":
        app = QApplication(sys.argv)
        demo = DialogDemo()
        demo.show()
        sys.exit(app.exec_())

    由于Dialog窗口的WindowModality属性设置为Qt.ApplicationModal模态,用户只有关闭所弹出的对话框窗口后,才能关闭主窗口。

  • 相关阅读:
    C++——文件的读写
    我以我血荐轩辕——记徐家福教授的演讲
    文件命名
    面向对象
    关于函数
    php跨域发送请求原理以及同步异步问题
    关于iframe
    关于url
    cookie
    call和apply
  • 原文地址:https://www.cnblogs.com/lynsha/p/13409293.html
Copyright © 2020-2023  润新知