【问题标题】:QPushButton is inactive till MainWindow gets focusQPushButton 在 MainWindow 获得焦点之前处于非活动状态
【发布时间】:2013-10-28 20:09:10
【问题描述】:

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

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

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

我正在使用 gcc 4.8.1 和 qt 5.1.0。

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

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

【问题讨论】:

    标签: c++ qt


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-19
      • 1970-01-01
      相关资源
      最近更新 更多