[英]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.