Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Cant keep a second window open when pressing on a button

Cant keep a second window open when pressing on a button

Scheduled Pinned Locked Moved Unsolved General and Desktop
3 Posts 3 Posters 265 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    smoussa
    wrote on last edited by
    #1

    class MainWindow(QMainWindow):
    switch_window=pyqtSignal(str)
    def init(self):
    super().init()

        self.initUI()
    
    def initUI(self):
        #Initialize
        self.setGeometry(1000, 300, 1200, 800)
        self.setWindowTitle('Sensorlyze')
        self.setWindowIcon(QIcon('biosensor.jpg'))
        icon = QIcon('biosensor.jpg')
    
        # Add Text
        l1= QLabel("Welcome to SensorLyze",self)
        l1.move(25, 350)
        # l1.setWordWrap(True)
        l1.setFont(QFont('Calibri',15))
        l1.adjustSize()
        l2 = QLabel("A software to simply sensor analytics", self)
        l2.move(25, 400)
        l2.setFont(QFont('Calibri', 10))
        l2.adjustSize()
    
        #Add Buttons
        button1 = QPushButton('Start',self)
        button1.resize(button1.sizeHint())
        button1.clicked.connect(start_clicked)
        button1.move(60, 450)
        button2 = QPushButton('Exit', self)
        button2.resize(button2.sizeHint())
        button2.clicked.connect(exit_clicked)
        button2.move(240, 450)
    

    stylesheet = """
    QMainWindow {
    background-image: url("C:/Users/admin/Desktop/Sensorlyze/biosensor.jpg");
    background-repeat: no-repeat;
    background-position: center;
    }
    """

    def switch(self):

    self.switch_window.emit(self.line_edit.text())

    def start_clicked():
    window=QMainWindow()
    window.setGeometry(300, 500, 500, 500)
    window.setWindowTitle('Hello')
    window.show()
    win.hide()

    def exit_clicked():
    msgBox=QMessageBox()
    msgBox.setIcon(QMessageBox.Information)
    msgBox.setText("Are you sure you want to exit?")
    msgBox.setWindowTitle("Exit Sensorlyze")
    msgBox.setStandardButtons(QMessageBox.Ok|QMessageBox.Cancel)
    msgBox.buttonClicked.connect(msgButtonClick)
    returnValue = msgBox.exec()

    if returnValue==QMessageBox.Ok:
        exit()
    

    def msgButtonClick(i):
    print("Buttonclickedis:",i.text())

    def main():
    app = QApplication(sys.argv)
    app.setStyleSheet(stylesheet) # <---
    win=MainWindow()
    win.show()
    sys.exit(app.exec_())

    if name == 'main':
    main()

    jsulmJ 1 Reply Last reply
    0
    • mrjjM Offline
      mrjjM Offline
      mrjj
      Lifetime Qt Champion
      wrote on last edited by mrjj
      #2

      Hi and welcome to the forums
      What do you mean ?
      So when you click a button and this is run
      def start_clicked():
      window=QMainWindow()
      window.setGeometry(300, 500, 500, 500)
      window.setWindowTitle('Hello')
      window.show()
      win.hide()

      the win Is closed or what you mean cant keep open ?

      1 Reply Last reply
      0
      • S smoussa

        class MainWindow(QMainWindow):
        switch_window=pyqtSignal(str)
        def init(self):
        super().init()

            self.initUI()
        
        def initUI(self):
            #Initialize
            self.setGeometry(1000, 300, 1200, 800)
            self.setWindowTitle('Sensorlyze')
            self.setWindowIcon(QIcon('biosensor.jpg'))
            icon = QIcon('biosensor.jpg')
        
            # Add Text
            l1= QLabel("Welcome to SensorLyze",self)
            l1.move(25, 350)
            # l1.setWordWrap(True)
            l1.setFont(QFont('Calibri',15))
            l1.adjustSize()
            l2 = QLabel("A software to simply sensor analytics", self)
            l2.move(25, 400)
            l2.setFont(QFont('Calibri', 10))
            l2.adjustSize()
        
            #Add Buttons
            button1 = QPushButton('Start',self)
            button1.resize(button1.sizeHint())
            button1.clicked.connect(start_clicked)
            button1.move(60, 450)
            button2 = QPushButton('Exit', self)
            button2.resize(button2.sizeHint())
            button2.clicked.connect(exit_clicked)
            button2.move(240, 450)
        

        stylesheet = """
        QMainWindow {
        background-image: url("C:/Users/admin/Desktop/Sensorlyze/biosensor.jpg");
        background-repeat: no-repeat;
        background-position: center;
        }
        """

        def switch(self):

        self.switch_window.emit(self.line_edit.text())

        def start_clicked():
        window=QMainWindow()
        window.setGeometry(300, 500, 500, 500)
        window.setWindowTitle('Hello')
        window.show()
        win.hide()

        def exit_clicked():
        msgBox=QMessageBox()
        msgBox.setIcon(QMessageBox.Information)
        msgBox.setText("Are you sure you want to exit?")
        msgBox.setWindowTitle("Exit Sensorlyze")
        msgBox.setStandardButtons(QMessageBox.Ok|QMessageBox.Cancel)
        msgBox.buttonClicked.connect(msgButtonClick)
        returnValue = msgBox.exec()

        if returnValue==QMessageBox.Ok:
            exit()
        

        def msgButtonClick(i):
        print("Buttonclickedis:",i.text())

        def main():
        app = QApplication(sys.argv)
        app.setStyleSheet(stylesheet) # <---
        win=MainWindow()
        win.show()
        sys.exit(app.exec_())

        if name == 'main':
        main()

        jsulmJ Offline
        jsulmJ Offline
        jsulm
        Lifetime Qt Champion
        wrote on last edited by
        #3

        @smoussa said in Cant keep a second window open when pressing on a button:

        def start_clicked():
        window=QMainWindow()

        You're creating a local variable (window) which is destroyed as soon as start_clicked() terminates...

        https://forum.qt.io/topic/113070/qt-code-of-conduct

        1 Reply Last reply
        2

        • Login

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved