嗨,我正在尝试开发一个插件。我使用了用于创建Gui的PyQt5。我想知道在单击按钮后如何启动新窗口。
这是我使用PyQt5 Designer创建的界面。这是图片链接
单击“激活”按钮后,将打开“发送激活密钥”对话框,如上图所示。单击确定按钮后,我需要打开一个新窗口,如图所示
这里是主要的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)
这是我的UI_Dialog类
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"))
我正在使用以下方式呼叫登录窗口
GisedifySupportDialog().open_login_dialog()
上面的代码不执行任何操作,也没有错误。从主窗口中单击确定按钮时,请帮助我打开登录窗口]
嗨,我正在尝试开发一个插件。我使用了用于创建Gui的PyQt5。我想知道如何在单击按钮后启动新窗口。这是我使用PyQt5创建的接口...
尝试一下: