2

我有一个带有三个 QPushButtons 的 QMainWindow(排列在 QWidget 中的 QVBoxLayout 中)。除了 objectName、icon 和 iconSize 之外,它们都具有相同的属性。所有都启用并有两个图标,一个是正常的,一个是禁用的。

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

调用updaterepaint在窗口的 showEvent 中也无济于事。

我正在使用 gcc 4.8.1 和 qt 5.1.0。

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

更新:它变得更奇怪了:启动程序,图标显示禁用,获得另一个应用程序的焦点,图标显示启用,再次将窗口置于顶部而不给它焦点(例如通过使用任务栏)将图标更改回来到残疾。单击窗口中可以具有焦点的控件将再次修复它。

4

1 回答 1

1

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

于 2013-10-28T12:09:10.327 回答