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

QTreeView双击弹出QDialog的有关问题

2014-01-23 
QTreeView双击弹出QDialog的问题QTreeView控件CProgramTreeViewPage::CProgramTreeViewPage(){connect(m_p

QTreeView双击弹出QDialog的问题
QTreeView控件

CProgramTreeViewPage::CProgramTreeViewPage()
{
connect(m_pList,SIGNAL(doubleClicked(const QModelIndex &)),
            this,SLOT(OnDoubleClick(const QModelIndex&)));
}
  
  
CProgramTreeViewPage::OnDoubleClick(const QModelIndex& i_indexMode)
{
   QDialog*  dlg= new QDialog(this);
   dlg->exec();
   delete dlg;
}

弹出的对话框鼠标移动到按钮上没有hover状态(系统的关闭,最小化,最大化按钮除外)。当对话框退出。主窗口的按钮也没有了hover状态,要用鼠标点击一下才有了hover状态。如果说是失去焦点,但是快捷键还是可以用。
我已经发过这样三个帖子了,一直没有解决。我自己尝试过很多方法都不行,各位有没有相关的经验帮忙看看。我实在是没办法了。

因为Qt程序要带太多dll所以也不方便上传。

[解决办法]
你是想实现鼠标停留在QTableWidgetItem上,就可以显示某些信息吗?如果是这样的话 你可以从QAbstractTableModel派生,在重新实现QVariant QAbstractItemModel::data(const QModelIndex & index, int role = Qt::DisplayRole) const;当role==Qt::Tooltip的时候返回你说需要显示的提示文字即可。当然你的flags()需要返回对应的标志位。
[解决办法]
那你加了聚焦后呢?
[解决办法]
引用:
Quote: 引用:

你是想实现鼠标停留在QTableWidgetItem上,就可以显示某些信息吗?如果是这样的话 你可以从QAbstractTableModel派生,在重新实现QVariant QAbstractItemModel::data(const QModelIndex & index, int role = Qt::DisplayRole) const;当role==Qt::Tooltip的时候返回你说需要显示的提示文字即可。当然你的flags()需要返回对应的标志位。

我需要的是能够双击显示一个模态对话框,但是现在双击后没有了焦点

你是希望谁获得焦点 默认的话是模态对话框获取焦点的。

热点排行