在QTableView的未使用区域中双击
Catch double click in QTableView's unused area
我的应用程序从一个空表开始,我想实现不同的方法来添加项。应该通过双击表格中未被任何单元格占用的未使用区域(或"背景")来实现。当一个单元格被双击时,我想要默认的行为。
我已经找到了通过在我的TestTable
类中重新实现QAbstractScrollArea::mouseDoubleClickEvent()
方法来做到这一点的方法:
#include <QMouseEvent>
#include <QTableView>
class TestTable : public QTableView
{
Q_OBJECT
signals:
void backgroundDoubleClickEvent(void);
protected:
void mouseDoubleClickEvent (QMouseEvent* e)
{
if (indexAt(e->pos()).isValid())
{
QTableView::mouseDoubleClickEvent(e);
}
else
{
e->accept();
emit backgroundDoubleClickEvent();
}
}
};
- 这工作,但有没有更优雅的方式做到这一点没有子类化
QTableView
? - 我不知道我目前的实现有任何限制。有明显的警告吗?
如果您不想子类化QTableView
,请尝试installEventFilter
相关文章:
- 我的程序有一个保存配置文件的GUI,如何双击此配置文件以直接加载带有配置数据的GUI?
- C++,Qt:仅在双击后编辑qtablewidget项目
- 双击更改 mfc 中列表控件中的行的颜色
- C++MFC编辑框处理双击
- 双击滑块手柄时如何发出信号
- C/C++ 检测双击 TVItem 的常用控件
- 在使用 c++ 的 win32 api 中,我想跟踪双击和三次单击等
- 在树状视图中双击后焦点丢失
- MFC功能区主页按钮双击关闭应用程序
- QGraphicsScene 中的 QPushButton 需要双击而不是单击
- 处理WM_POINTER消息时,如何检测双击/点击
- 双击编译C++ Unix 可执行文件不会打开现有文件以从中读取信息
- QListWidget 项目单击和项目双击 - 如果双击,则阻止单击
- 可执行文件无法在双击执行时创建新文件
- OS X 双击速度
- 双击(触摸)按屏幕按钮的原因可能是什么,该按钮通过单击鼠标按下
- 如何区分OpenCV中的点击和双击
- 在Windows中检测全局双击
- 如何在mfc中处理单击和双击同一按钮
- 在QTableView的未使用区域中双击