QTreeView双击弹出QDialog的有关问题
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()需要返回对应的标志位。
[解决办法]那你加了聚焦后呢?
[解决办法]你是希望谁获得焦点 默认的话是模态对话框获取焦点的。