Write a python program with a graphical user interface that will allow a user to create a custom pizza which they wish to order. At minimum, the user should be able to choose the size of the pizza, the type of pizza sauce, and up to at least 5 different toppings from a selection of 10 or more possible pizza toppings.  Visit a pizza shop website for possible topping ideas.

Each component of the pizza has an associated price and the total cost of the pizza should be displayed and updated as the user builds their pizza. Allow the user to reset, and start over in case they make a mistake or cannot afford the pizza.

Finally, allow the user to submit their pizza which causes a dialogue to display showing the estimated time to cook. Use a random number between 15 & 25 minutes to simulate this.

The above program must be implemented using OOPS concepts GUI. The more creative and user-friendly your application is, the more bonus marks will be awarded. But, you will not be penalised for not being user-friendly or creative.