skjlgo 2021-09-19 21:01 采纳率: 91.7%
浏览 64
已结题

PyQt5 如何创建多个窗口 python

img


我想每按一个按钮,就弹出一个窗口。怎么做到这个功能
我知道怎样点击一个按钮弹出一个子窗口:代码如下

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()

但是,这个方法没有办法打开三个窗口,只能打开两个如果你按第二个按键软件会直接退出。结果如下:
C:\Users\Win10\AppData\Local\Programs\Python\Python39\python.exe "C:/Users/Win10/PycharmProjects/untitled5/Spider 爬虫 1.1版本.py"

进程已结束,退出代码为 -1073740791 (0xC0000409)
所以,实现这个功能该怎么做。

  • 写回答

2条回答 默认 最新

  • skjlgo 2021-09-19 21:04
    关注

    def open_second_ui(self):
    下面没有被注释掉

    评论

报告相同问题?

问题事件

  • 系统已结题 9月27日
  • 创建了问题 9月19日

悬赏问题

  • ¥20 verilog状态机方法流水灯
  • ¥15 pandas代码实现不了意图
  • ¥15 GD32H7 从存储器到外设SPI传输数据无法重复启用DMA
  • ¥25 LT码在高斯信道下的误码率仿真
  • ¥45 渲染完成之后将物体的材质贴图改变,自动化进行这个操作
  • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
  • ¥15 电视版的优酷可以设置电影连续播放吗?
  • ¥50 复现论文;matlab代码编写
  • ¥30 echarts 3d地图怎么实现一进来页面散点数据和卡片一起轮播
  • ¥15 数字图像的降噪滤波增强