PyQt5 ventana principal, haga clic en el botón para mostrar las ventanas hijas de diálogo

Creado en Qt Designer en una ventana principal y una ventana sub-diálogo, como se muestra a continuación:
Aquí Insertar imagen Descripción
Una vez completado el diseño, convertidos en dos archivos py, por dos archivos separados aplicación llama a la ventana secundaria, leí un poco de información, básicamente crear un nuevo archivo y luego implementar la ventana principal y llamar a la ventana secundaria, no lo que yo quiero, así dada a mi aplicación, para lograr un archivo en la ventana principal.
En primer archivo de importación sub-ventana en el archivo de la ventana principal, y la creación de una ventana secundaria del código de inicialización de clase de ventana es la siguiente:

from ChildWindowTest import *

class ChildWin(QtWidgets.QDialog, Ui_Dialog):
    def __init__(self):
        super(ChildWin, self).__init__()
        self.setupUi(self)

El súper constructor () es una necesidad, de lo contrario, pueden llamar a la sub-ventana de la pantalla, no puede ser llamado botones de la ventana del niño y otros controles.
A continuación, la función de sub-ventana emergente para lograr, y la realización del botón de función ventana secundaria [OK], haga clic a cerrar la ventana secundaria y el mensaje de texto se muestra en la ventana principal de la caja. Los códigos son los siguientes, para conseguir la función de rendimiento se define en la clase de la ventana principal:

# 弹出子窗口与实现【确定】按钮功能
    def showDialog(self):
        # 创建子窗口实例
        dialog = ChildWin()
        # 显示子窗口
        dialog.show()
        # 实现子窗口中的【确定】按钮功能
        def pB_OK():
            self.textEdit.setPlainText("子窗口弹出成功!")
            dialog.close()
        # 关联【确定】按钮
        dialog.pushButton.clicked.connect(pB_OK)
        dialog.exec_()

[OK] función del botón de espesor, que estaba definida directamente en el interior, a favor de la prueba efectiva, y se sienten personalmente solo que re-definir desorden conveniencia! La última línea de código dialog.exec_ () es esencial, muchos sub-ventana se abrirá automáticamente cerrada acerca!
Por último, en [Abrir] botón asociado a la ventana secundaria, y luego muestra la ventana principal, el código se puede ejecutar en la última escritura, de la siguiente manera:

# 设置【打开子窗口】按钮
self.pushButton.clicked.connect(self.showDialog)
if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

Este código de visualización está destinado a ser utilizado directamente en la interfaz de usuario convertir en archivo py, no es necesario crear un archivo separado y la clase! Después de ejecutar el efecto es el siguiente:
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción

Publicado 17 artículos originales · ganado elogios 3 · Vistas 1805

Supongo que te gusta

Origin blog.csdn.net/weixin_43350361/article/details/104842332
Recomendado
Clasificación