# -*- coding: utf-8 -*- import sys from PyQt5.QtWidgets import QApplication , QMainWindow from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * from Ui_splashView import * from LoginMain import LoginMain class SplashMain(QMainWindow, Ui_Form): def __init__(self, parent=None): super(SplashMain, self).__init__(parent) self.setWindowFlags(Qt.SplashScreen|Qt.FramelessWindowHint) self.setupUi(self) self.time=5 self.timer=QTimer(self) self.timer.timeout.connect(self.countTime) self.timer.start(1000) def countTime(self): self.time-=1 self.label_2.setText("还有"+str(self.time)+"秒跳转登入界面") if(self.time==0): self.close() self.myWin2 = LoginMain() self.myWin2.show() if __name__=="__main__": app = QApplication(sys.argv) myWin = SplashMain() myWin.show() sys.exit(app.exec_())
以上代码是 splash窗口负责欢迎提示的,然后关闭自身窗口打开一个新的窗口。
以上红色部分的代码是修正以后的,之前的代码为:
myWin2 = LoginMain()
myWin2.show()
myWin2.exec_()
如果这么写的话就会报错,如下:
PyQt: “AttributeError: 'Form' object has no attribute 'exec_'” when opening second window
在 网址:
https://blog.csdn.net/qq_32856147/article/details/79646163
找到了一些解答。
照此修正,不再报错。