PyQt5 如何创建多个窗口 python

用以下这种方法可以创建两个窗口,没有问题,但是在类推创建的三个窗口时,做不到,请问怎样可以创建>2个的窗口
软件的界面图:

img


目的:是每点击一个按钮,出来一个新界面。
这个是代码:
class FirstUI(QWidget):

def __init__(self):
    super(FirstUI, self).__init__()
    self.resize(500, 300)  #设置大小
    self.setWindowTitle("Spider 爬虫 1.1 版本")       #设置窗口名字
    self.changeP = QtWidgets.QPushButton(self)         #增加一个按钮
    self.changeP.setGeometry(QtCore.QRect(100, 10, 300, 50))              #设置按钮
    self.changeP.setText("第一步:爬取网站的URL,传入网址")                 #按钮的名字
    self.changeP.clicked.connect(self.open_second_ui)
    self.changeP1 = QtWidgets.QPushButton(self)  # 增加一个按钮
    self.changeP1.setGeometry(QtCore.QRect(100, 80, 300, 50))  # 设置按钮
    self.changeP1.setText("第二步:爬取网站的URL,传入TXT文件")  # 按钮的名字
    self.changeP1.clicked.connect(self.open_three_ui)
    self.changeP2 = QtWidgets.QPushButton(self)  # 增加一个按钮
    self.changeP2.setGeometry(QtCore.QRect(100, 150, 300, 50))  # 设置按钮
    self.changeP2.setText("第三步:输入两个TXT文件去重后合并")  # 按钮的名字
    self.changeP2.clicked.connect(self.open_second_ui)
    self.changeP2 = QtWidgets.QPushButton(self)  # 增加一个按钮
    self.changeP2.setGeometry(QtCore.QRect(100, 220, 300, 50))  # 设置按钮
    self.changeP2.setText("第四步:输入TXT文件,开始爬取文章")  # 按钮的名字
    self.changeP2.clicked.connect(self.open_second_ui)

def open_second_ui(self):
    self.second_ui = SecondUI()                 #定位到第二个窗口
    self.second_ui.show()                       #打开第二个窗口
    print(33)
def open_three_ui(self):
    self.three_ui = ThreeUI()  # 定位到第三个窗口
    self.three_ui.show()

class SecondUI(QWidget):
def ThreeUI(QWidget):
我该怎么改动,才可以出现两个及以上的界面,而不是按第二个按钮时,软件自动退出后,
程序显示:

img

窗口分为2种,一种模式窗口(就是对话框),打开后必须关闭了才能做别的操作,还有一种是非模式窗口(类似Word,excel),可以同时打开很多,没有数量限制。