到这一段,基础的窗口切分已经掌握,基础树形结构也没问题了。把树形结构放进视图左边区域,右边和右下空余。这里的要点是不再直接拉控件进去,而是自己定义一个控件,将父窗口指向spliter出来的窗口。垂直切分后的窗口,谁先用,就是谁的,没有左右索引,只有先来后到。
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
setWindowTitle(tr("OK"));
spliter = new QSplitter(Qt::Horizontal,ui->centralWidget);
treeView = new QTreeView(spliter);
QTextEdit* pLeftEdt = new QTextEdit(spliter);
pLeftEdt->setText(QObject::tr("文本窗口"));
pLeftEdt->setDisabled(false);
spliter->setStretchFactor(0, 1);//两句设置左右两列的宽度比为1:4
spliter->setStretchFactor(1, 4);
QStandardItemModel *goodsModel = new QStandardItemModel();
QStandardItem *item0 = new QStandardItem("main0");
QStandardItem *item1 = new QStandardItem("main1");
item0->setEditable(false); //不许修改
goodsModel->appendRow(item0);
goodsModel->appendRow(item1);
QStandardItem *item_1 = new QStandardItem("abc1");
QStandardItem *item_2 = new QStandardItem("abc2");
item0->appendRow(item_1);
item1->appendRow(item_2);
treeView->setModel(goodsModel);
}
运行后如下:
本文介绍如何在Qt中实现基础的窗口切分,并将树形结构布局应用到视图中,通过实例演示了如何创建、配置和展示数据模型。
552

被折叠的 条评论
为什么被折叠?



