2017-07-15 311 views
1
class MainWindow : public QMainWindow 
{ 
    Q_OBJECT 
public: 
    explicit MainWindow(QWidget *parent = 0); 
    ~MainWindow(); 

private: 
    Ui::MainWindow *ui; 
    MyFileSystemModel model; 
}; 

我的文件CPP当用户在键盘上按住CTRL键时,如何在TreeView的Qt中实现多重选择?

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); 
} 

我用的多选属性,但是当我在与鼠标树视图项,请点击,我不希望选择一些项目没有按CTRL键盘上它只能。我怎样才能检查用户是否按下CTRL然后选择项目?

+0

我认为这是一个ExtendedSelection模式。 Huh –

回答

0

QTreeview有一个虚拟功能来设置选择模式。与Ctrl键使用该

QTreeView treeView; 
treeView.setSelectionMode(QAbstractItemView::MultiSelection); 

也为多选:

QTreeView treeView; 
treeView.setSelectionMode(QAbstractItemView::ExtendedSelection); 

约QTreeView则here更多信息

您可以将模式设置为多选这样的。

+0

我写道,我已经试过这个,但是我想要MultiSelection只有当我按下CTRL键 – VVcvcv

+0

谢谢你的回答,它完美的工作! – VVcvcv

+0

@VVcvcv没问题。如果有帮助接受我的回答,谢谢。 – aghilpro

相关问题