gpt4 book ai didi

c++ - 当用户在键盘上按住 CTRL 键时,如何在 TreeView 的 Qt 中实现多选?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:08:53 24 4
gpt4 key购买 nike

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 属性,但它仅在我用鼠标单击 TreeView 中的项目时才起作用,我不想在不按键盘上的 CTRL 的情况下选择一些项目。如何检查用户是否按下 CTRL 然后选择项目?

最佳答案

QTreeview 有一个虚函数来设置选择模式。

您可以像这样将模式设置为多选:

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

也可以使用 ctrl 键进行多选:

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

有关 QTreeview 的更多信息 here .

关于c++ - 当用户在键盘上按住 CTRL 键时,如何在 TreeView 的 Qt 中实现多选?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45120887/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com