Bonjour, je me met à pyQt , pour l'instant je laisse de coté qt design pour comprendre un peu mieux pyQt

j'ai pour l'instant ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# -*- coding: utf-8 -*-
 
from PyQt5 import QtWidgets
import sys
 
app = QtWidgets.QApplication(sys.argv)
 
main = QtWidgets.QMainWindow()
main.show()
 
central_widget = QtWidgets.QWidget(parent=main)
main.setCentralWidget(central_widget)
 
button = QtWidgets.QPushButton(text="test", parent=central_widget)
 
button2 = QtWidgets.QPushButton(text="test")
 
app.exec_()
mais je n'arrive pas à créer une fenêtre secondaire, la doc dit bien que un widget sans parent devient une fenêtre, mais elle ne dépend pas de ma principale, je peut toujours interagir avec, la fermer sans que l'autre ne se ferme par exemple ...
en faite je cherche l'équivalent du Toplevel de tkinter .

EDIT : j'ai ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
# -*- coding: utf-8 -*-
 
from PyQt5 import QtWidgets
import sys
 
app = QtWidgets.QApplication(sys.argv)
 
main = QtWidgets.QMainWindow()
central_widget = QtWidgets.QWidget(parent=main)
main.setCentralWidget(central_widget)
 
button = QtWidgets.QPushButton(text="test", parent=central_widget)
 
def f():
	d = QtWidgets.QDialog()
	button2 = QtWidgets.QPushButton("ok",d)
 
	d.exec_()
 
button.clicked.connect(f)
 
main.show()
app.exec_()
le problème c'est que je ne peut plus accéder à ma 1ere fenêtre, peut importe si j'ai d = QtWidgets.QDialog(modal = False) ou d.setModal = False voir d.setModality = False