QWidget专注于显示而隐藏于失去的焦点吗?

时间:2019-04-27 12:21:47

标签: focus qwidget qtreeview qcombobox

我有一个带有QTreeView的自定义QComboBox,当用户按下下拉箭头以显示组合选项时,我想显示它。

我用显示在正确位置的树代替了QComboBox :: showPopup调用。

我还在树上设置了这些参数:

    mView_tree->setFocusPolicy(Qt::StrongFocus);
    mView_tree->setFrameShape(QFrame::NoFrame);
    mView_tree->setWindowFlags(Qt::Tool | Qt::CustomizeWindowHint);

我展示了PopPupup:

... some code
mView_tree->move(loc);
mView_tree->show();
mView_tree->setFocus(Qt::MouseFocusReason);

当树出现时,它没有焦点。如何使它正确聚焦?

我还尝试过这种操作,以防某些QComboBox信号破坏东西-在showPopup函数的底部。

    QMetaObject::invokeMethod(mView_tree, [=]() { mView_tree->setFocus(); }, Qt::QueuedConnection);

不幸的是,没有任何信息/帮助吗?

TIA

0 个答案:

没有答案