gpt4 book ai didi

c++ - QTreeView可以加入QDockWidget吗

转载 作者:行者123 更新时间:2023-11-30 03:33:37 26 4
gpt4 key购买 nike

有没有人有一个简短的例子(希望是在 C++ 中)来说明将 QTreeView 添加到 QDockWidget?

我尝试使用 QLayout 作为中间对象,如:

QFile file(":/default.txt");
file.open(QIODevice::ReadOnly);
TreeModel model(file.readAll());
file.close();

QTreeView w;
w.setModel(&model);
w.setWindowTitle(QObject::tr("Simple Tree Model"));

QGridLayout *layout;
layout = new QGridLayout;
layout->addWidget(&w, 0, 0, 1, 3);
swatch1->setLayout(layout);

其中 swatch1 是来自 QDockWidget 的类型。我的代码运行了,但是树没有出现在 DockWidget 上。

我看过QTreeWidget的例子,但是由于 TreeView 会经常改变,所以我更喜欢使用QTreeView。

有没有人可以提供一个简短的例子来说明如何将 QTreeView 放到 QDockWidget 上?谢谢

最佳答案

Jay,我想在这里补充一点。您的第一个建议代码:

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
QDockWidget* dock = new QDockWidget;
setCentralWidget(dock);

QTreeView* treeView = new QTreeView;
dock->setWidget(treeView);

QFileSystemModel* treeModel = new QFileSystemModel;
treeModel->setRootPath(QDir::currentPath());
treeView->setModel(treeModel);
}

我试过类似的东西。但是,在编译过程中,dock->setWidget(treeView) 失败并且有一条错误消息说这是不允许的。我无法理解,因为 QTreeView 是一个小部件,为什么不允许这样做。或者,例如,我为通过编译的 QTreeWidget 项目尝试了 dock->setWidget(treeWidget)。

关于c++ - QTreeView可以加入QDockWidget吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42693207/

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