在MainWindow获得焦点之前,QPushButton处于非活动状态

时间:2013-10-28 11:21:55

标签: c++ qt

我有一个带有三个QPushButtons的QMainWindow(排列在QWidget中的QVBoxLayout中)。除objectName,icon和iconSize外,它们都具有相同的属性。全部都启用并有两个图标,一个用于普通,一个用于禁用。

当我启动我的应用程序时,始终最顶部的图标显示已禁用的图标(但正在运行,因此已启用)其他两个图标正常。只要该窗口中的可聚焦控件获得焦点,图标就会变为活动状态,一切都很好。

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

我正在使用gcc 4.8.1和qt 5.1.0。

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

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

1 个答案:

答案 0 :(得分:1)

嗯,好吧,我终于明白了。我只是在代码中手动设置焦点并意识到图标设置错误。如果当前对焦按钮,则显示已禁用的图标。我弄乱了不同的按钮状态,有太多状态得到了禁用状态。