How to make status not disappear when clicking menu wxpython?












0















I made a text editor in Python with a status bar and a menu. When I click the menu, the current status disappears. Is this a part of wxPython or is there a way to disable it. If there is a way to disable it, how?



Thanks in advance



import wx
import wx.stc as stc
import os

class Window(wx.Frame):
def __init__(self, parent, title):

wx.Frame.__init__(self, parent, title=title, size=(500, 500))
self.control = stc.StyledTextCtrl(self, style=wx.TE_MULTILINE | wx.TE_WORDWRAP)

self.control.Bind(wx.EVT_KEY_UP, self.LineColumn)

self.FileMenu(), self.MenuBar()
self.Status_Bar()

def FileMenu(self):
self.filemenu = wx.Menu()
self.new = self.filemenu.Append(wx.ID_ANY, "&NewtCtrl+N")

def MenuBar(self):
#MenuBar
self.menu = wx.MenuBar()
self.menu.Append(self.filemenu, "&File")
self.SetMenuBar(self.menu)

def Status_Bar(self):
#Status Bar
self.statusbar = self.CreateStatusBar(1)
self.LineColumn(self)

def LineColumn(self, e):
line = self.control.GetCurrentLine() + 1
col = self.control.GetColumn(self.control.GetCurrentPos())
stat = "Ln: %s, Col: %s" % (line, col)
self.StatusBar.SetStatusText(stat, 0)

def RandomText(self, e):
self.StatusBar.SetStatusText("Random Text", 3)

def main():
app = wx.App()
frame = Window(None, "Text Editor")
frame.Show()
app.MainLoop()

if __name__ == '__main__':
main()









share|improve this question



























    0















    I made a text editor in Python with a status bar and a menu. When I click the menu, the current status disappears. Is this a part of wxPython or is there a way to disable it. If there is a way to disable it, how?



    Thanks in advance



    import wx
    import wx.stc as stc
    import os

    class Window(wx.Frame):
    def __init__(self, parent, title):

    wx.Frame.__init__(self, parent, title=title, size=(500, 500))
    self.control = stc.StyledTextCtrl(self, style=wx.TE_MULTILINE | wx.TE_WORDWRAP)

    self.control.Bind(wx.EVT_KEY_UP, self.LineColumn)

    self.FileMenu(), self.MenuBar()
    self.Status_Bar()

    def FileMenu(self):
    self.filemenu = wx.Menu()
    self.new = self.filemenu.Append(wx.ID_ANY, "&NewtCtrl+N")

    def MenuBar(self):
    #MenuBar
    self.menu = wx.MenuBar()
    self.menu.Append(self.filemenu, "&File")
    self.SetMenuBar(self.menu)

    def Status_Bar(self):
    #Status Bar
    self.statusbar = self.CreateStatusBar(1)
    self.LineColumn(self)

    def LineColumn(self, e):
    line = self.control.GetCurrentLine() + 1
    col = self.control.GetColumn(self.control.GetCurrentPos())
    stat = "Ln: %s, Col: %s" % (line, col)
    self.StatusBar.SetStatusText(stat, 0)

    def RandomText(self, e):
    self.StatusBar.SetStatusText("Random Text", 3)

    def main():
    app = wx.App()
    frame = Window(None, "Text Editor")
    frame.Show()
    app.MainLoop()

    if __name__ == '__main__':
    main()









    share|improve this question

























      0












      0








      0








      I made a text editor in Python with a status bar and a menu. When I click the menu, the current status disappears. Is this a part of wxPython or is there a way to disable it. If there is a way to disable it, how?



      Thanks in advance



      import wx
      import wx.stc as stc
      import os

      class Window(wx.Frame):
      def __init__(self, parent, title):

      wx.Frame.__init__(self, parent, title=title, size=(500, 500))
      self.control = stc.StyledTextCtrl(self, style=wx.TE_MULTILINE | wx.TE_WORDWRAP)

      self.control.Bind(wx.EVT_KEY_UP, self.LineColumn)

      self.FileMenu(), self.MenuBar()
      self.Status_Bar()

      def FileMenu(self):
      self.filemenu = wx.Menu()
      self.new = self.filemenu.Append(wx.ID_ANY, "&NewtCtrl+N")

      def MenuBar(self):
      #MenuBar
      self.menu = wx.MenuBar()
      self.menu.Append(self.filemenu, "&File")
      self.SetMenuBar(self.menu)

      def Status_Bar(self):
      #Status Bar
      self.statusbar = self.CreateStatusBar(1)
      self.LineColumn(self)

      def LineColumn(self, e):
      line = self.control.GetCurrentLine() + 1
      col = self.control.GetColumn(self.control.GetCurrentPos())
      stat = "Ln: %s, Col: %s" % (line, col)
      self.StatusBar.SetStatusText(stat, 0)

      def RandomText(self, e):
      self.StatusBar.SetStatusText("Random Text", 3)

      def main():
      app = wx.App()
      frame = Window(None, "Text Editor")
      frame.Show()
      app.MainLoop()

      if __name__ == '__main__':
      main()









      share|improve this question














      I made a text editor in Python with a status bar and a menu. When I click the menu, the current status disappears. Is this a part of wxPython or is there a way to disable it. If there is a way to disable it, how?



      Thanks in advance



      import wx
      import wx.stc as stc
      import os

      class Window(wx.Frame):
      def __init__(self, parent, title):

      wx.Frame.__init__(self, parent, title=title, size=(500, 500))
      self.control = stc.StyledTextCtrl(self, style=wx.TE_MULTILINE | wx.TE_WORDWRAP)

      self.control.Bind(wx.EVT_KEY_UP, self.LineColumn)

      self.FileMenu(), self.MenuBar()
      self.Status_Bar()

      def FileMenu(self):
      self.filemenu = wx.Menu()
      self.new = self.filemenu.Append(wx.ID_ANY, "&NewtCtrl+N")

      def MenuBar(self):
      #MenuBar
      self.menu = wx.MenuBar()
      self.menu.Append(self.filemenu, "&File")
      self.SetMenuBar(self.menu)

      def Status_Bar(self):
      #Status Bar
      self.statusbar = self.CreateStatusBar(1)
      self.LineColumn(self)

      def LineColumn(self, e):
      line = self.control.GetCurrentLine() + 1
      col = self.control.GetColumn(self.control.GetCurrentPos())
      stat = "Ln: %s, Col: %s" % (line, col)
      self.StatusBar.SetStatusText(stat, 0)

      def RandomText(self, e):
      self.StatusBar.SetStatusText("Random Text", 3)

      def main():
      app = wx.App()
      frame = Window(None, "Text Editor")
      frame.Show()
      app.MainLoop()

      if __name__ == '__main__':
      main()






      wxpython






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 13 '18 at 23:26









      yokohamayokohama

      205




      205
























          1 Answer
          1






          active

          oldest

          votes


















          2














          Clicking on the menu item envokes event wx.EVT_MENU_HIGHLIGHT by default.

          If you have passed the menu item a help text it will be displayed in the status area at this point.

          If you want to by-pass this feature, catch the event and bypass it.

          Try this:



          def FileMenu(self):
          self.filemenu = wx.Menu()
          self.new = self.filemenu.Append(wx.ID_ANY, "&NewtCtrl+N", "Open new file")
          self.Bind(wx.EVT_MENU_HIGHLIGHT, self.Bypass)

          def Bypass(self,event):
          pass





          share|improve this answer























            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',
            autoActivateHeartbeat: false,
            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%2f53290990%2fhow-to-make-status-not-disappear-when-clicking-menu-wxpython%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            2














            Clicking on the menu item envokes event wx.EVT_MENU_HIGHLIGHT by default.

            If you have passed the menu item a help text it will be displayed in the status area at this point.

            If you want to by-pass this feature, catch the event and bypass it.

            Try this:



            def FileMenu(self):
            self.filemenu = wx.Menu()
            self.new = self.filemenu.Append(wx.ID_ANY, "&NewtCtrl+N", "Open new file")
            self.Bind(wx.EVT_MENU_HIGHLIGHT, self.Bypass)

            def Bypass(self,event):
            pass





            share|improve this answer




























              2














              Clicking on the menu item envokes event wx.EVT_MENU_HIGHLIGHT by default.

              If you have passed the menu item a help text it will be displayed in the status area at this point.

              If you want to by-pass this feature, catch the event and bypass it.

              Try this:



              def FileMenu(self):
              self.filemenu = wx.Menu()
              self.new = self.filemenu.Append(wx.ID_ANY, "&NewtCtrl+N", "Open new file")
              self.Bind(wx.EVT_MENU_HIGHLIGHT, self.Bypass)

              def Bypass(self,event):
              pass





              share|improve this answer


























                2












                2








                2







                Clicking on the menu item envokes event wx.EVT_MENU_HIGHLIGHT by default.

                If you have passed the menu item a help text it will be displayed in the status area at this point.

                If you want to by-pass this feature, catch the event and bypass it.

                Try this:



                def FileMenu(self):
                self.filemenu = wx.Menu()
                self.new = self.filemenu.Append(wx.ID_ANY, "&NewtCtrl+N", "Open new file")
                self.Bind(wx.EVT_MENU_HIGHLIGHT, self.Bypass)

                def Bypass(self,event):
                pass





                share|improve this answer













                Clicking on the menu item envokes event wx.EVT_MENU_HIGHLIGHT by default.

                If you have passed the menu item a help text it will be displayed in the status area at this point.

                If you want to by-pass this feature, catch the event and bypass it.

                Try this:



                def FileMenu(self):
                self.filemenu = wx.Menu()
                self.new = self.filemenu.Append(wx.ID_ANY, "&NewtCtrl+N", "Open new file")
                self.Bind(wx.EVT_MENU_HIGHLIGHT, self.Bypass)

                def Bypass(self,event):
                pass






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 14 '18 at 9:02









                Rolf of SaxonyRolf of Saxony

                8,73521637




                8,73521637






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53290990%2fhow-to-make-status-not-disappear-when-clicking-menu-wxpython%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Bressuire

                    Vorschmack

                    Quarantine