I have a very basic QMainWindow
application that contains a menubar
and a statusbar
. When I hover over the menu the status message disappears. More precisely, the status message is cleared. I have no idea what is causing this behavior but it's resulting in a very difficult workaround for what I hoped to be trivial behavior.
This is problematic for the following reason:
I can make the message permanent by adding a QLabel
widget to the QStatusBar
, but then I get the awkward border. I don't want the border. The only way I know how to remove the border is via QStatusBar.setStyleSheet()
. I am using a palette for my color scheme as opposed to a stylesheet so modifying the stylesheet messes up other colors. I also can't restore the original statusBar QLabel
color when I make a modification via the stylesheet. I'm not the best at using stylesheets.
Is there a way to prevent the menu interaction from clearing the status message? If not, is there a way to remove the border from the StatusBar when adding a QLabel widget while preserving my palette (maybe not via stylesheets)?
#!/usr/bin/env python
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *class win(QMainWindow):def __init__(self,parent=None):super(win,self).__init__(parent)self.menubar = QMenuBar(self)self.fileMenu = QMenu("File")self.exitAction = QAction("Exit",self)self.fileMenu.addAction(self.exitAction)self.menubar.addMenu(self.fileMenu) self.statusBar().showMessage("Hello")self.connect(self.exitAction,SIGNAL("triggered()"), self.close)if __name__ == "__main__":app = QApplication(sys.argv)GUI = win()GUI.show()app.exec_()