16,815
社区成员




QTreeWidget* View = new QTreeWidget(ui->comboBox);
ui->comboBox->setModel(View.model()); // 前面加上这句就OK了。
ui->comboBox->setView(View);
非常感谢。
[/quote]
请问我按你说的这样做了但是那个树点击展开也要消失郁闷!只是展开又没有选择item怎么处理这个问题呀!
QTreeWidget* View = new QTreeWidget(ui->comboBox);
ui->comboBox->setModel(View.model()); // 前面加上这句就OK了。
ui->comboBox->setView(View);
非常感谢。
#include <QtGui/QApplication>
#include <QTreeView>
#include <QFileSystemModel>
#include <QComboBox>
#include <QDir>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 创建文件系统模型
QFileSystemModel *model = new QFileSystemModel();
// 指定要监视的目录
model->setRootPath(QDir::currentPath());
QTreeView *tree = new QTreeView();
tree->setModel(model);
tree->setRootIndex(model->index(QDir::currentPath()));
QComboBox *b = new QComboBox();
b->resize(400, 20);
b->setView(tree);
b->setModel(model);
b->show();
return a.exec();
}
#include <QTreeView>
而不是QTreeWidget.
下面给你一个使用MVC的代码参考下:
#include <QApplication>
#include <QFileSystemModel>
#include <QTreeView>
#include <QListView>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 创建文件系统模型
QFileSystemModel model;
// 指定要监视的目录
model.setRootPath(QDir::currentPath());
// 创建树型视图
QTreeView tree;
// 为视图指定模型
tree.setModel(&model);
// 指定根索引
tree.setRootIndex(model.index(QDir::currentPath()));
// 创建列表视图
QListView list;
list.setModel(&model);
list.setRootIndex(model.index(QDir::currentPath()));
tree.show();
list.show();
return app.exec();
}
QTreeWidget* View = new QTreeWidget(ui->comboBox);
ui->comboBox->setView(View);
Qt 也没自带个example的 ...