class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
MyFileSystemModel model;
};
我的文件cpp
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
model.setRootPath(QDir::rootPath());
ui->treeView->setModel(&model);
ui->treeView->setSelectionMode(QAbstractItemView::MultiSelection);
ui->treeView->setDragEnabled(true);
}
我使用了MultiSelection属性,但只有当我用鼠标点击树视图中的项目时它才有效,我不想在没有按下键盘上的CTRL的情况下选择几个项目。如何检查用户是否按下CTRL然后选择项目?
答案 0 :(得分:1)
QTreeview具有设置选择模式的虚拟功能。
您可以将模式设置为多选,如下所示:
QTreeView treeView;
treeView.setSelectionMode(QAbstractItemView::MultiSelection);
对于使用ctrl键的Multiselection,请使用:
QTreeView treeView;
treeView.setSelectionMode(QAbstractItemView::ExtendedSelection);
有关QTreeview here的更多信息。