风泥

导航

Qt 窗体焦点问题

void setWidgetFocusPolicy(QWidget *widget, Qt::FocusPolicy policy)
{
    foreach(QObject *child, widget->children())
    {
        if(QWidget *childW = qobject_cast<QWidget*>(child))
            setWidgetFocusPolicy(childW, policy);
    }

    widget->setFocusPolicy(policy);
}

 

void setWidgetFocusProxy(QWidget *widget, QWidget *proxy)
{
    foreach(QObject *child, widget->children())
    {
        if(QWidget *childW = qobject_cast<QWidget*>(child))
            setWidgetFocusProxy(childW, proxy);
    }

    widget->setFocusProxy(proxy);
}

posted on 2015-05-18 20:07  风泥  阅读(850)  评论(0编辑  收藏  举报