0
点赞
收藏
分享

微信扫一扫

QTreeView使用案例

王老师说 2022-08-16 阅读 30


#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QGridLayout>
#include <QRadioButton>
#include <QCheckBox>
#include <QPushButton>
#include <QGridLayout>
#include <QFile>
#include <QDebug>
#include <QStandardItem>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QStandardItemModel* model = new QStandardItemModel(4,1);
QStandardItem *item1 = new QStandardItem("first");
QStandardItem *item2 = new QStandardItem("second");
QStandardItem *item3 = new QStandardItem("third");
QStandardItem *item4 = new QStandardItem("fourth");

model->setItem(0, 0, item1);
model->setItem(1, 0, item2);
model->setItem(2, 0, item3);
model->setItem(3, 0, item4);

QStandardItem *item5 = new QStandardItem("fifth");
item4->appendRow(item5);
ui->treeView->setModel(model);
//下面是三种不同的风格
QString styleOne = "QTreeView{\
border: 1px solid lightgray;\
}\
QTreeView::item {\
height: 40px;\
border-radius: 2px;\
border: 1px solid transparent;\
background: transparent;\
color: black;\
}\
QTreeView::item:hover {\
border: 1px solid rgb(185, 215, 250);\
}\
QTreeView::item:selected {\
border: 1px solid rgb(170, 190, 230);\
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 rgb(230, 240, 250), stop: 0.5 rgb(220, 235, 255), stop: 1.0 rgb(210, 230, 255));\
}\
QTreeView::branch:open:has-children {\
image: url(./Resources/Images/branchOpen.png);\
}\
QTreeView::branch:closed:has-children {\
image: url(./Resources/Images/branchClose.png);\
}";
QString styleTwo = "QTreeView{\
border: 1px solid lightgray;\
}\
QTreeView::item {\
height: 40px;\
border-radius: 2px;\
border: 1px solid transparent;\
background: transparent;\
color: black;\
}\
QTreeView::item:has-children {\
border: none;\
border-bottom: 1px solid lightgray;\
}\
QTreeView::item:hover {\
border: 1px solid rgb(170, 190, 230);\
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 rgb(230, 240, 250), stop: 0.5 rgb(220, 235, 255), stop: 1.0 rgb(210, 230, 255));\
}\
QTreeView::item:selected {\
border: 1px solid rgb(170, 190, 230);\
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 rgb(230, 240, 250), stop: 0.5 rgb(220, 235, 255), stop: 1.0 rgb(210, 230, 255));\
}\
QTreeView::branch:open:has-children {\
image: url(./Resources/Images/branchOpen2.png);\
}\
QTreeView::branch:closed:has-children {\
image: url(./Resources/Images/branchClose2.png);\
}";
QString styleThree = "QTreeView{\
border: 1px solid lightgray;\
}\
QTreeView::item {\
height: 25px;\
border: none;\
background: transparent;\
color: black;\
}\
QTreeView::item:hover {\
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 rgb(255, 220, 130), stop: 0.5 rgb(255, 220, 130), stop: 1.0 rgb(255, 230, 150));\
}\
QTreeView::item:selected {\
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 rgb(255, 200, 100), stop: 0.5 rgb(255, 230, 150), stop: 1.0 rgb(255, 240, 150));\
}\
QTreeView::branch:open:has-children {\
image: url(./Resources/Images/branchOpen.png);\
}\
QTreeView::branch:closed:has-children {\
image: url(./Resources/Images/branchClose.png);\
}";
ui->treeView->setStyleSheet(styleOne);

}

MainWindow::~MainWindow()
{
delete ui;
}

举报

相关推荐

0 条评论