在QHeaderView类的Qt-doc网站上,我发现了两个描述相似的信号:
void QHeaderView::sectionDoubleClicked(int logicalIndex)
和
void QHeaderView::sectionHandleDoubleClicked(int logicalIndex)
这两者有什么区别?我应该什么时候使用第一个,什么时候使用另一个?
尽管文档字符串完全相同,
void QHeaderView::sectionDoubleClicked(int logicalIndex)
双击某个部分时会发出此信号。节的逻辑索引由logicalIndex指定。
[signal]void QHeaderView::sectionHandleDoubleClicked(int logicalIndex)
双击某个部分时会发出此信号。节的逻辑索引由logicalIndex指定。
信号在不同情况下发出。从KDE的Qt5拷贝,
void QHeaderView::mouseDoubleClickEvent(QMouseEvent *e)
{
...
int handle = d->sectionHandleAt(pos);
if (handle > -1 && sectionResizeMode(handle) == Interactive) {
emit sectionHandleDoubleClicked(handle);
...
} else {
emit sectionDoubleClicked(logicalIndexAt(e->position().toPoint()));
}
}
然而,当";手柄";可能在场,但他们不在场。猜测一下,如果你的部分可以调整大小,你可能会得到一个句柄——用于调整大小——然后你可以(双击(句柄或部分主体。