1
내 응용 프로그램이 빈 테이블로 시작하고 아이템 추가 방법을 변경하려고합니다. 하나는 모든 셀이 차지하지 않는 테이블의 사용하지 않는 영역 (또는 "배경")을 두 번 클릭해야합니다. 셀을 두 번 클릭하면 기본 동작이 필요합니다.QTableView의 사용되지 않은 영역에서 두 번 클릭합니다.
나는 다시 구현 내 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
를 서브 클래 싱하지 않으려면
내가, 감사 것을 시도 할 것이다 시도! 좀 더 복잡해 보입니다. 더블 클릭을 잡는 방법을 찾아야하지만 완전히 벗어나지는 않습니다. – Christoph