Mike M
Mike M

Reputation: 2303

QPushButton is inactive till MainWindow gets focus

I have a QMainWindow with three QPushButtons (arranged in a QVBoxLayout in a QWidget). All have the same properties, except objectName, icon and iconSize. All are enabled and have two icons, one for normal and one for disabled.

When I start my application, always the top most icon shows the disabled icon (but is working, so it is enabled) the other two are fine. As soon as a focusable control in that window gets the focus, the icon changes to the active one and everything is fine.

Calling update or repaint in the showEvent of the window doesn't help either.

I'm using gcc 4.8.1 and qt 5.1.0.

Any ideas how to handle this glitch?

Update: It gets more strange: Starting the program, the icon shows disabled, getting another application the focus, the icon shows enabled, bringing the window on top again without giving it the focus (e.g. by using the task bar) changes the icon back to diabled. Clicking a control in the window, which can have focus will fix it again.

Upvotes: 2

Views: 149

Answers (1)

Mike M
Mike M

Reputation: 2303

Well, well I finally got it. I just set the focus manually in the code and realized, that the icons were set in a wrong way. If a button was currently focussed it displayed the disabled icon. I had messed up the different button states and too many states got the disabled icon.

Upvotes: 1

Related Questions