2013-10-28 54 views
2

我有一个带有三个QPushButton的QMainWindow(排列在QWidget的QVBoxLayout中)。除了objectName,icon和iconSize之外,它们都具有相同的属性。所有都启用,并有两个图标,一个用于正常,一个用于禁用。QPushButton处于非活动状态,直到MainWindow获得焦点

当我开始我的应用程序时,总是最上面的图标显示禁用的图标(但正在工作,所以它启用)其他两个都没问题。只要该窗口中的可调焦控件获得焦点,图标就会变为活动焦点,并且一切都很好。

在showEvent窗口中调用updaterepaint也没有帮助。

我使用的是gcc 4.8.1和qt 5.1.0。

任何想法如何处理这个故障?

更新:它变得更加奇怪:启动程序,图标显示为已禁用,让其他应用程序的焦点,图标显示启用,再次把最上面的窗口没有给它的焦点(例如通过使用任务栏)将图标更改为diabled。在窗口中单击一个可以获得焦点的控件将再次修复它。

回答

1

那么,我终于明白了。我只是在代码中手动设置焦点,并意识到图标设置错误。如果当前按钮处于焦点状态,则会显示禁用的图标。我搞砸了不同的按钮状态,太多的状态得到了禁用的图标。

相关问题