Open a new window when the button is clicked || PyQt5









up vote
0
down vote

favorite












I know this question have been asked multiple times. But I can't understand with the existing examples.
I have a code which creates a window with a button called 'start'. I want the app to close the current window and open a new window when the 'start' button is clicked. The new window has to be a blank window.



Any help is much appreciated.



The code is as follows:



import sys
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton,
QToolTip, QMessageBox, QLabel


class Window(QMainWindow):
def __init__(self):
super().__init__()

self.title = "First Window"
self.top = 100
self.left = 100
self.width = 680
self.height = 500

self.pushButton = QPushButton("Start", self)
self.pushButton.move(275, 200)
self.pushButton.setToolTip("<h3>Start the Session</h3>")
self.main_window()

def main_window(self):
self.label = QLabel("Manager", self)
self.label.move(285, 175)
self.setWindowTitle(self.title)
self.setGeometry(self.top, self.left, self.width, self.height)
self.show()


if __name__ == "__main__":
app = QApplication(sys.argv)
window = Window()
sys.exit(app.exec())









share|improve this question























  • You need to emit the signal like this: self.pushButton.clicked.connect(self.openNew) and clearly you have to define openNew method which should open a new window and eventually close the old one
    – New2Python
    2 days ago














up vote
0
down vote

favorite












I know this question have been asked multiple times. But I can't understand with the existing examples.
I have a code which creates a window with a button called 'start'. I want the app to close the current window and open a new window when the 'start' button is clicked. The new window has to be a blank window.



Any help is much appreciated.



The code is as follows:



import sys
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton,
QToolTip, QMessageBox, QLabel


class Window(QMainWindow):
def __init__(self):
super().__init__()

self.title = "First Window"
self.top = 100
self.left = 100
self.width = 680
self.height = 500

self.pushButton = QPushButton("Start", self)
self.pushButton.move(275, 200)
self.pushButton.setToolTip("<h3>Start the Session</h3>")
self.main_window()

def main_window(self):
self.label = QLabel("Manager", self)
self.label.move(285, 175)
self.setWindowTitle(self.title)
self.setGeometry(self.top, self.left, self.width, self.height)
self.show()


if __name__ == "__main__":
app = QApplication(sys.argv)
window = Window()
sys.exit(app.exec())









share|improve this question























  • You need to emit the signal like this: self.pushButton.clicked.connect(self.openNew) and clearly you have to define openNew method which should open a new window and eventually close the old one
    – New2Python
    2 days ago












up vote
0
down vote

favorite









up vote
0
down vote

favorite











I know this question have been asked multiple times. But I can't understand with the existing examples.
I have a code which creates a window with a button called 'start'. I want the app to close the current window and open a new window when the 'start' button is clicked. The new window has to be a blank window.



Any help is much appreciated.



The code is as follows:



import sys
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton,
QToolTip, QMessageBox, QLabel


class Window(QMainWindow):
def __init__(self):
super().__init__()

self.title = "First Window"
self.top = 100
self.left = 100
self.width = 680
self.height = 500

self.pushButton = QPushButton("Start", self)
self.pushButton.move(275, 200)
self.pushButton.setToolTip("<h3>Start the Session</h3>")
self.main_window()

def main_window(self):
self.label = QLabel("Manager", self)
self.label.move(285, 175)
self.setWindowTitle(self.title)
self.setGeometry(self.top, self.left, self.width, self.height)
self.show()


if __name__ == "__main__":
app = QApplication(sys.argv)
window = Window()
sys.exit(app.exec())









share|improve this question















I know this question have been asked multiple times. But I can't understand with the existing examples.
I have a code which creates a window with a button called 'start'. I want the app to close the current window and open a new window when the 'start' button is clicked. The new window has to be a blank window.



Any help is much appreciated.



The code is as follows:



import sys
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton,
QToolTip, QMessageBox, QLabel


class Window(QMainWindow):
def __init__(self):
super().__init__()

self.title = "First Window"
self.top = 100
self.left = 100
self.width = 680
self.height = 500

self.pushButton = QPushButton("Start", self)
self.pushButton.move(275, 200)
self.pushButton.setToolTip("<h3>Start the Session</h3>")
self.main_window()

def main_window(self):
self.label = QLabel("Manager", self)
self.label.move(285, 175)
self.setWindowTitle(self.title)
self.setGeometry(self.top, self.left, self.width, self.height)
self.show()


if __name__ == "__main__":
app = QApplication(sys.argv)
window = Window()
sys.exit(app.exec())






python user-interface pyqt5






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 2 days ago

























asked 2 days ago









M. Denis

215




215











  • You need to emit the signal like this: self.pushButton.clicked.connect(self.openNew) and clearly you have to define openNew method which should open a new window and eventually close the old one
    – New2Python
    2 days ago
















  • You need to emit the signal like this: self.pushButton.clicked.connect(self.openNew) and clearly you have to define openNew method which should open a new window and eventually close the old one
    – New2Python
    2 days ago















You need to emit the signal like this: self.pushButton.clicked.connect(self.openNew) and clearly you have to define openNew method which should open a new window and eventually close the old one
– New2Python
2 days ago




You need to emit the signal like this: self.pushButton.clicked.connect(self.openNew) and clearly you have to define openNew method which should open a new window and eventually close the old one
– New2Python
2 days ago












1 Answer
1






active

oldest

votes

















up vote
2
down vote













Try it:



import sys
from PyQt5 import QtGui
from PyQt5.QtWidgets import (QApplication, QMainWindow, QPushButton,
QToolTip, QMessageBox, QLabel)

class Window2(QMainWindow): # <===
def __init__(self):
super().__init__()
self.setWindowTitle("Window22222")

class Window(QMainWindow):
def __init__(self):
super().__init__()

self.title = "First Window"
self.top = 100
self.left = 100
self.width = 680
self.height = 500

self.pushButton = QPushButton("Start", self)
self.pushButton.move(275, 200)
self.pushButton.setToolTip("<h3>Start the Session</h3>")

self.pushButton.clicked.connect(self.window2) # <===

self.main_window()

def main_window(self):
self.label = QLabel("Manager", self)
self.label.move(285, 175)
self.setWindowTitle(self.title)
self.setGeometry(self.top, self.left, self.width, self.height)
self.show()

def window2(self): # <===
self.w = Window2()
self.w.show()
self.hide()

if __name__ == "__main__":
app = QApplication(sys.argv)
window = Window()
sys.exit(app.exec())





share|improve this answer




















  • The code works well. Thanks a lot for your help.
    – M. Denis
    2 days ago










Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













 

draft saved


draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53225320%2fopen-a-new-window-when-the-button-is-clicked-pyqt5%23new-answer', 'question_page');

);

Post as a guest






























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
2
down vote













Try it:



import sys
from PyQt5 import QtGui
from PyQt5.QtWidgets import (QApplication, QMainWindow, QPushButton,
QToolTip, QMessageBox, QLabel)

class Window2(QMainWindow): # <===
def __init__(self):
super().__init__()
self.setWindowTitle("Window22222")

class Window(QMainWindow):
def __init__(self):
super().__init__()

self.title = "First Window"
self.top = 100
self.left = 100
self.width = 680
self.height = 500

self.pushButton = QPushButton("Start", self)
self.pushButton.move(275, 200)
self.pushButton.setToolTip("<h3>Start the Session</h3>")

self.pushButton.clicked.connect(self.window2) # <===

self.main_window()

def main_window(self):
self.label = QLabel("Manager", self)
self.label.move(285, 175)
self.setWindowTitle(self.title)
self.setGeometry(self.top, self.left, self.width, self.height)
self.show()

def window2(self): # <===
self.w = Window2()
self.w.show()
self.hide()

if __name__ == "__main__":
app = QApplication(sys.argv)
window = Window()
sys.exit(app.exec())





share|improve this answer




















  • The code works well. Thanks a lot for your help.
    – M. Denis
    2 days ago














up vote
2
down vote













Try it:



import sys
from PyQt5 import QtGui
from PyQt5.QtWidgets import (QApplication, QMainWindow, QPushButton,
QToolTip, QMessageBox, QLabel)

class Window2(QMainWindow): # <===
def __init__(self):
super().__init__()
self.setWindowTitle("Window22222")

class Window(QMainWindow):
def __init__(self):
super().__init__()

self.title = "First Window"
self.top = 100
self.left = 100
self.width = 680
self.height = 500

self.pushButton = QPushButton("Start", self)
self.pushButton.move(275, 200)
self.pushButton.setToolTip("<h3>Start the Session</h3>")

self.pushButton.clicked.connect(self.window2) # <===

self.main_window()

def main_window(self):
self.label = QLabel("Manager", self)
self.label.move(285, 175)
self.setWindowTitle(self.title)
self.setGeometry(self.top, self.left, self.width, self.height)
self.show()

def window2(self): # <===
self.w = Window2()
self.w.show()
self.hide()

if __name__ == "__main__":
app = QApplication(sys.argv)
window = Window()
sys.exit(app.exec())





share|improve this answer




















  • The code works well. Thanks a lot for your help.
    – M. Denis
    2 days ago












up vote
2
down vote










up vote
2
down vote









Try it:



import sys
from PyQt5 import QtGui
from PyQt5.QtWidgets import (QApplication, QMainWindow, QPushButton,
QToolTip, QMessageBox, QLabel)

class Window2(QMainWindow): # <===
def __init__(self):
super().__init__()
self.setWindowTitle("Window22222")

class Window(QMainWindow):
def __init__(self):
super().__init__()

self.title = "First Window"
self.top = 100
self.left = 100
self.width = 680
self.height = 500

self.pushButton = QPushButton("Start", self)
self.pushButton.move(275, 200)
self.pushButton.setToolTip("<h3>Start the Session</h3>")

self.pushButton.clicked.connect(self.window2) # <===

self.main_window()

def main_window(self):
self.label = QLabel("Manager", self)
self.label.move(285, 175)
self.setWindowTitle(self.title)
self.setGeometry(self.top, self.left, self.width, self.height)
self.show()

def window2(self): # <===
self.w = Window2()
self.w.show()
self.hide()

if __name__ == "__main__":
app = QApplication(sys.argv)
window = Window()
sys.exit(app.exec())





share|improve this answer












Try it:



import sys
from PyQt5 import QtGui
from PyQt5.QtWidgets import (QApplication, QMainWindow, QPushButton,
QToolTip, QMessageBox, QLabel)

class Window2(QMainWindow): # <===
def __init__(self):
super().__init__()
self.setWindowTitle("Window22222")

class Window(QMainWindow):
def __init__(self):
super().__init__()

self.title = "First Window"
self.top = 100
self.left = 100
self.width = 680
self.height = 500

self.pushButton = QPushButton("Start", self)
self.pushButton.move(275, 200)
self.pushButton.setToolTip("<h3>Start the Session</h3>")

self.pushButton.clicked.connect(self.window2) # <===

self.main_window()

def main_window(self):
self.label = QLabel("Manager", self)
self.label.move(285, 175)
self.setWindowTitle(self.title)
self.setGeometry(self.top, self.left, self.width, self.height)
self.show()

def window2(self): # <===
self.w = Window2()
self.w.show()
self.hide()

if __name__ == "__main__":
app = QApplication(sys.argv)
window = Window()
sys.exit(app.exec())






share|improve this answer












share|improve this answer



share|improve this answer










answered 2 days ago









S. Nick

2,131237




2,131237











  • The code works well. Thanks a lot for your help.
    – M. Denis
    2 days ago
















  • The code works well. Thanks a lot for your help.
    – M. Denis
    2 days ago















The code works well. Thanks a lot for your help.
– M. Denis
2 days ago




The code works well. Thanks a lot for your help.
– M. Denis
2 days ago

















 

draft saved


draft discarded















































 


draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53225320%2fopen-a-new-window-when-the-button-is-clicked-pyqt5%23new-answer', 'question_page');

);

Post as a guest














































































Popular posts from this blog

Use pre created SQLite database for Android project in kotlin

Darth Vader #20

Ondo