Python Forum
[Tkinter] how can disable menu [About] when Toplevel is active
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Tkinter] how can disable menu [About] when Toplevel is active
#1
Hi. I want to disable the About menu when Toplevel is active.
When the Toplevel window is closed, I want the About menu to be active again.

from tkinter import (BOTH, END, BOTTOM, DISABLED, NORMAL, 
                    Tk, Frame, Menu, Button, Label, Text, Toplevel, Message, 
                    StringVar, IntVar)
import subprocess as sub


class App(Frame):

    def __init__(self):
        super().__init__()

        self.initUI()


    def initUI(self):
        self.master.title("Centered window")
        self.pack()
        self.centerWindow()


        menubar = Menu(self.master)
        self.master.config(menu=menubar)

        fileMenu = Menu(menubar, tearoff=0)
        fileMenu.add_command(label="ipconfig", command=self.ipconfig)
        fileMenu.add_separator()
        fileMenu.add_command(label="Exit", command=self.onExit)
        menubar.add_cascade(label="File", menu=fileMenu)

        helpMenu = Menu(menubar, tearoff=0)
        menubar.add_cascade(label="Help",  menu=helpMenu)
        helpMenu.add_command(label="About", state=NORMAL, command=self.HelpAbout)


    def centerWindow(self):
        w = 804
        h = 280

        sw = self.master.winfo_screenwidth()
        sh = self.master.winfo_screenheight()

        x = (sw - w)/2
        y = (sh - h)/2
        self.master.geometry('%dx%d+%d+%d' % (w, h, x, y))

    def HelpAbout(self):
        self.topHelp = Toplevel(self.master)
        print(str(self.topHelp.winfo_exists()))
        
        self.topHelp.title("###")
        self.MsgHelp = Message(self.topHelp)
        self.MsgHelp.pack()
        self.MsgHelp.config(text="bla bla bla")

        self.btHelp = Button(self.topHelp, text="bye", command=self.topHelp.destroy)
        self.btHelp.pack()
 
    def ipconfig(self):
      
        p = sub.Popen('ipconfig', shell=True, stdout=sub.PIPE, stderr=sub.PIPE)
        output, errors = p.communicate()
        print (output)


    def onExit(self):
        self.quit()


def main():

    root = Tk()
    root.resizable(0, 0)        #block resize window
    ex = App()
    root.mainloop()


if __name__ == '__main__':
    main()
thank you in advance for the solution
Reply


Messages In This Thread
how can disable menu [About] when Toplevel is active - by balenaucigasa - Oct-25-2019, 09:49 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  pass a variable between tkinter and toplevel windows janeik 10 2,385 Jan-24-2024, 06:44 AM
Last Post: Liliana
  [Tkinter] Open tkinter colorchooser at toplevel (so I can select/focus on either window) tabreturn 4 1,931 Jul-06-2022, 01:03 PM
Last Post: deanhystad
  [Tkinter] Toplevel window menator01 5 3,082 Apr-18-2022, 06:01 PM
Last Post: menator01
  [Tkinter] Background inactivity timer when tkinter window is not active DBox 4 2,948 Apr-16-2022, 04:04 PM
Last Post: DBox
  [Tkinter] Not able to get image as background in a Toplevel window finndude 4 3,935 Jan-07-2022, 10:10 PM
Last Post: finndude
  [Tkinter] binding versus disable DPaul 6 6,810 May-05-2021, 05:17 PM
Last Post: DPaul
  [Tkinter] Images in Toplevel() finndude 4 4,342 Mar-09-2021, 09:39 AM
Last Post: finndude
  How to disable custom button Sancho_Pansa 7 3,527 Dec-04-2020, 02:21 PM
Last Post: buran
  Create image on a Toplevel using tkinter ViktorWong 3 7,870 Jun-13-2020, 03:21 PM
Last Post: deanhystad
  How to disable focus on Frame in Tkinter? szafranji 1 3,038 May-13-2020, 10:45 PM
Last Post: DT2000

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020