I am designing desktop application using Python tkinter. I have a menu bar called "Customer" and it contains menu items "new customer", "update customer", and "delete customer". When user clicks on any of the menu items, I want to display only that specific form.

I came up with these:

  1. Design each form on frame
  2. When user click on any item, display only that form and hide rest
  3. This is happening inside the root window (master window)


  1. Design each form on new top-level window
  2. When user clicks on any item, a new window will open
  3. Root window (master window) is left running

Which is the standard thing to do?

  • 1
    Avoid opening excess windows unless necessary.
    – Alan
    Aug 14 '17 at 14:23
  • making frame visible true or false is way to do this ?
    – deepak
    Aug 15 '17 at 6:54

The open in a new window behavior is quite familiar to users when using the web.

On the other hand, on a desktop application, an app environment is quite restricted and opening new windows (unless the user has selected that behavior) is not something that is encountered often.

I would suggest you keep actions within the app's main interface (option A) instead of having random windows open. If you think (test it with users) that users might prefer the ability to open an option in a new window then provide them with the ability to open in a new window but by no means make it the default behavior.

Windows opening within a desktop app can be jarring and lost in the process.

P.S What happens if the user keeps the new open and closes the root window? Does the whole app close? That is something else to consider if you decide to throw new windows with each action.

  • so i have to design like SPA in web. Single page archit. i have to push all my frames in single stack of root window. And show it to user as actions performs right?
    – deepak
    Aug 16 '17 at 3:46
  • @deepak That would be my suggestion yes. If you can provide the option for advanced users to open an option in a new page (like right click "open in a new tab") then that is even better. Aug 16 '17 at 11:00

There is no standard

So, there is no standard as such to display forms whether on single screen or multiple. All you need to know is what your user really wants? What would be the frequency of using delete, update option.

Won't suggest opening it in new tab

About opening it in different tab would not be preferable because it distract user from current flow and make him to click on other tab to see other details. Align your options on single screen as per frequency of usage. Hope this would help. Good luck!


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.