简体   繁体   English

如何使用 pyqt5 和 ZE85823B4E7DB1064F4301E1C7497819 从主对话框 window 打开第二个 window

[英]How to open second window from main dialog window with pyqt5 and qt designer

HI I am trying to develop a plugin.嗨我正在尝试开发一个插件。 I have used PyQt5 designed to create the Gui.I want to know how to launch a new window after I click on a button.我使用了 PyQt5 设计来创建 Gui。我想知道单击按钮后如何启动新的 window。

This is the interface I have created using PyQt5 Designer.这是我使用 PyQt5 Designer 创建的界面。 Here is the Image link这是图片链接在此处输入图像描述

Once the Activate button is clicked, Activation key sent dialog box opens as shown in the above image.单击激活按钮后,将打开发送激活密钥对话框,如上图所示。 Once the OK button is clicked, i need to open a new window as shown单击确定按钮后,我需要打开一个新的 window,如图所示登录窗口

Here is main ui_dialog.py这是主要的 ui_dialog.py

from .gisedify_support_dialog_login import Ui_Dialog
FORM_CLASS, _ = uic.loadUiType(os.path.join(
os.path.dirname(__file__), 'gisedify_support_dialog_base.ui'))
class GisedifySupportDialog(QtWidgets.QDialog, FORM_CLASS):
  def __init__(self, parent=None):
    """Constructor."""
    super(GisedifySupportDialog, self).__init__(parent)
    # Set up the user interface from Designer through FORM_CLASS.
    # After self.setupUi() you can access any designer object by doing
    # self.<objectname>, and you can use autoconnect slots - see
    # http://qt-project.org/doc/qt-4.8/designer-using-a-ui-file.html
    # #widgets-and-dialogs-with-auto-connect
    self.setupUi(self)

def open_login_dialog(self):
    self.nd = Login_Dialog(self)
    self.nd.show()

class Login_Dialog(QtWidgets.QDialog,Ui_Dialog):
 def __init__(self, parent=None):
    super(Login_Dialog, self).__init__(parent)

This is my UI_Dialog class这是我的 UI_Dialog class

from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
    Dialog.setObjectName("Dialog")
    Dialog.resize(400, 300)
    ....
    ....
    self.pushButton.setObjectName("pushButton")


def retranslateUi(self, Dialog):
    _translate = QtCore.QCoreApplication.translate
    Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
    self.label.setText(_translate("Dialog", "Enter activation key"))
    self.pushButton.setText(_translate("Dialog", "Login"))

I am calling the loginwindow using我正在使用登录窗口调用

GisedifySupportDialog().open_login_dialog()

The above code does nothing and no error also.上面的代码什么也不做,也没有错误。 Please help me in opening login window when OK button is clicked from main window当从主 window 单击确定按钮时,请帮助我打开登录 window

Try this:尝试这个:

def open_login_dialog(self):
    Dialog = QtWidgets.QDialog()
    ui = Ui_Dialog()
    ui.setupUi(Dialog)
    Dialog.exec_()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM