首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

QThreeWidget QTreeView 响应doubleClicked讯息中弹出一个QDialog对话框,QDialog失去焦点

2014-01-23 
QThreeWidget QTreeView 响应doubleClicked消息中弹出一个QDialog对话框,QDialog失去焦点connect(m_pList,

QThreeWidget QTreeView 响应doubleClicked消息中弹出一个QDialog对话框,QDialog失去焦点

connect(m_pList,SIGNAL(doubleClicked(const QModelIndex &)),
            this,SLOT(OnDoubleClick(const QModelIndex&)));


OnDoubleClick(const QModelIndex& i_indexMode)
{
   QDialog*  dlg= new QDialog;
   dlg->exec();
   delete dlg;
}

对话框弹出后对话框上面的按钮鼠标移动到上面不能显示hover状态,如果点一下再移上去就可以显示hover状态了。
而且对话框执行完成退出了,主窗口也失去焦点,也需要用鼠标点击一下才会获取焦点。
我在event里面实现不会有这个问题,我用上面这种方式就会有,各位大神能不能解答一下。 Qt
[解决办法]
强制setFocus试试
[解决办法]
dlg->setFocusPolicy(Qt::StrongFocus)
[解决办法]
引用:
dlg->setFocusPolicy(Qt::StrongFocus)

或者给
QDialog*  dlg= new QDialog(this);
   dlg->exec();
   delete dlg;

热点排行