在 QHeaderView 类的Qt doc 网站上,我发现了两个具有相似描述的信号:
void QHeaderView::sectionDoubleClicked(int logicalIndex)
和
void QHeaderView::sectionHandleDoubleClicked(int logicalIndex)
这两者有什么区别?我应该什么时候使用第一个,什么时候使用另一个?
在 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()));
}
}
但是,文档并没有特别清楚地说明何时可能存在“句柄”以及何时不存在。猜测一下,如果您的部分可调整大小,您可能会得到一个句柄——用于调整大小——然后您可以(双击)单击句柄或部分主体。