Qt窗口关闭后重新打开

Posted

技术标签:

【中文标题】Qt窗口关闭后重新打开【英文标题】:Qt window reopens after being closed 【发布时间】:2021-03-04 21:53:58 【问题描述】:

我创建了一个按钮来从 PC 浏览数据(打开 PC 文件并浏览)。窗口第一次正常打开,然后当我关闭它时,窗口再次打开。

我该怎么办?

代码:

class second (QDialog):
    def __init__(self):
        super(second,self).__init__()
        loadUi("tt3.ui",self)
        self.pushButton2.clicked.connect(self.pushButton2_handler)
        self.pushButton2.clicked.connect(self.pushButton2_open) #1

    def pushButton2_handler(self):
        print("Button pressed")
        self.pushButton2_open()

    def pushButton2_open(self):
        filename = QFileDialog.getOpenFileName()
        path = filename[0]
        print(path)
  
        try:
            with open(path,"r") as f :
                print(f.readline())
        except IOError:
            print('file not found')
        else :
            print('file is readed')    

【问题讨论】:

mmmm,你的问题不清楚,也提供minimal reproducible example 为什么要将两个插槽连接到pushButton2.clicked?这不是很明显会调用pushButton2_open 两次吗? @ekhumoro 谢谢你的留言解决了我的问题 :) 【参考方案1】:

我猜你应该删除这一行

"""self.pushButton2.clicked.connect(self.pushButton2_open) #1"""

【讨论】:

以上是关于Qt窗口关闭后重新打开的主要内容,如果未能解决你的问题,请参考以下文章

打开第二个窗口后隐藏主窗口?另外,当第二个窗口被用户关闭时,主窗口如何重新出现?

Qt窗口及控件-窗口Close()自动释放

QT/QML 从主窗口重新打开新窗口

WPF程序 当关闭一个窗体后,重新打开报错 关闭窗口之后无法设置 Visibility 或者调用 Show或ShowDialog

关闭并重新打开后继续填写 HTML 表单

MFC 中如何点击一个按钮,则主窗口关闭,在重新加载打开