我有一个带有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