【发布时间】:2010-12-06 21:16:58
【问题描述】:
虽然双击 QTreeView 的文本会展开子项,但单击不会。不过,CSS 中定义的图标(并放置在文本的左侧)只需单击一下即可展开子项。如何使文本的单击(或触摸事件)展开子项?
bookTreeView->setModel(standardModel);
bookTreeView->setEditTriggers(QAbstractItemView::NoEditTriggers);
bookTreeView->setWordWrap(true);
bookTreeView->sizeHint();
//bookTreeView->mousePressEvent(QMouseEvent());
bookTreeView->setTextElideMode(Qt::ElideNone);
bookTreeView->setExpandsOnDoubleClick(true);
bookTreeView->setUniformRowHeights(true);
bookTreeView->setHeaderHidden(true);
bookTreeView->setStyleSheet("QTreeView { font-size: 27px; show-decoration-selected: 0; } QTreeView::branch:has-siblings:!adjoins-item { border-image: none; } QTreeView::branch:has-siblings:adjoins-item { border-image: none; } QTreeView::branch:!has-children:!has-siblings:adjoins-item { border-image: none;} QTreeView::branch:has-children:!has-siblings:closed, QTreeView::branch:closed:has-children:has-siblings { border-image: none; image: url(':images/images/right_arrow.png'); } QTreeView::branch:open:has-children:!has-siblings, QTreeView::branch:open:has-children:has-siblings { border-image: none; image: url(':images/images/down_arrow.png'); } ");
【问题讨论】:
-
请注意,这通常是不受欢迎的行为。能够选择视图而无需展开视图通常是首选
-
我不知道为什么我认为它对于移动应用程序来说是不可取的——我不希望通过单击展开所有子项,只希望那些与我单击的父项相关的子项。双击对于移动应用来说似乎无关紧要!