相关文章推荐
强悍的核桃  ·  Java Hive UDTF ...·  1 年前    · 
刚毅的针织衫  ·  Copy and transform ...·  1 年前    · 
伤情的红豆  ·  r - recreate ...·  1 年前    · 
年轻有为的生菜  ·  java - How to limit ...·  1 年前    · 
骑白马的海龟  ·  java - Why does ...·  1 年前    · 

在PyQt5中打开一个窗口和关闭一个窗口

1 人关注

我试图从一个欢迎界面加载一个带有UI窗口的新类,并同时关闭欢迎界面。当我点击按钮去打开新的窗口时,它可以正常打开,但我只想在动作事件中关闭第一个窗口。

我试过 .hide() .terminate() .destroy() ,但窗口仍然停留。

这就是相关的代码。

class MainWindow(QtWidgets.QMainWindow):
    def __init__(self):
        super().__init__()                
        #self.email_blast_widget = EmailBlast()
        #self.setCentralWidget(self.email_blast_widget)
        self.welcome = OpeningWindow()
        self.setCentralWidget(self.welcome)        
        bar = self.menuBar()
        file_file = bar.addMenu('File')         
        file_edit = bar.addMenu('Edit')
    def load_email(self):
        self.mail = EmailBlast()        
        self.mail.show()
        self.welcome = OpeningWindow()
        self.destroy()
class OpeningWindow(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()
        self.welcome = QtWidgets.QLabel("Welcome To Zach's \nEmail Blast Widget")
        self.email_button = QtWidgets.QPushButton("Email")
        self.csv_button = QtWidgets.QPushButton("CSVs")
        self.exit_button = QtWidgets.QPushButton("Exit")
        self.init_ui()
 def init_ui(self):
    # set layout to place widgets
    self.email_button.clicked.connect(self.load_email)
    self.csv_button.clicked.connect(self.load_csv)
    #self.exit_button.clicked.connect(self.exit)
    self.exit_button.clicked.connect(QtWidgets.qApp.quit)
class EmailBlast(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()     
        # create widgets