Я пытаюсь сделать переход между 2 windows в PyQt 5. Один из классов представлен классом Login, а другой - классом Index. Класс Index показывает следующую ошибку:
class Index(QMainWindow,index_ui):#class for index.ui
TypeError: конфликт метаклассов: метакласс производного класса должен быть (нестрогим) подклассом метаклассов всех его баз
Код для того же выглядит следующим образом:
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.uic import loadUiType
login_ui,_=loadUiType('login.ui')
index_ui=loadUiType('index.ui')
class Login(QMainWindow,login_ui):
def __init__(self):
QWidget.__init__(self)
self.setupUi(self)
self.password.setEchoMode(QLineEdit.Password)
self.submit.clicked.connect(self.handle_login)
self.showpass.stateChanged.connect(self.showpassword)
def showpassword(self,checked):
if checked:
self.password.setEchoMode(QLineEdit.Normal)
else:
self.password.setEchoMode(QLineEdit.Password)
def handle_login(self):
msg=QMessageBox()
if self.username.text()=="" or self.password.text()=="":
msg.setText("UserName or Password can't be empty")
msg.setIcon(QMessageBox.Warning)
x=msg.exec_()
return
msg.setText("Username:"+self.username.text()+" Password:"+self.password.text())
x=msg.exec_()
self.window2=Index()
self.close()
self.window2.show()
class Index(QMainWindow,index_ui):#class for index.ui
def __init__(self):
QWidget.__init__(self)
self.setupUi(self)
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
window=Login()
window.show()
sys.exit(app.exec_())