| 11 | #include "ElaTreeView.h" |
| 12 | #include "T_TreeViewModel.h" |
| 13 | T_TreeView::T_TreeView(QWidget* parent) |
| 14 | : T_BasePage(parent) |
| 15 | { |
| 16 | // 预览窗口标题 |
| 17 | setWindowTitle("ElaTreeView"); |
| 18 | |
| 19 | // 顶部元素 |
| 20 | createCustomWidget("树型视图被放置于此,可在此界面体验其效果并按需添加进项目中"); |
| 21 | |
| 22 | // ElaTreeView |
| 23 | T_TreeViewModel* treeModel = new T_TreeViewModel(this); |
| 24 | QHBoxLayout* treeLayout = new QHBoxLayout(); |
| 25 | treeLayout->setContentsMargins(0, 0, 10, 0); |
| 26 | QWidget* treeSettingWidget = new QWidget(this); |
| 27 | QVBoxLayout* treeSettingWidgetLayout = new QVBoxLayout(treeSettingWidget); |
| 28 | treeSettingWidgetLayout->setContentsMargins(0, 0, 0, 0); |
| 29 | treeSettingWidgetLayout->setSpacing(15); |
| 30 | |
| 31 | // 数据统计 |
| 32 | ElaText* dataText = new ElaText(QString("树模型总数据条数:%1").arg(treeModel->getItemCount()), this); |
| 33 | dataText->setTextPixelSize(15); |
| 34 | |
| 35 | // ItemHeight |
| 36 | ElaText* itemHeightText = new ElaText("ItemHeight", this); |
| 37 | itemHeightText->setTextPixelSize(15); |
| 38 | ElaSlider* itemHeightSlider = new ElaSlider(this); |
| 39 | itemHeightSlider->setRange(200, 600); |
| 40 | itemHeightSlider->setValue(350); |
| 41 | ElaText* itemHeightValueText = new ElaText("35", this); |
| 42 | itemHeightValueText->setTextPixelSize(15); |
| 43 | connect(itemHeightSlider, &ElaSlider::valueChanged, this, [=](int value) { |
| 44 | itemHeightValueText->setText(QString::number(value / 10)); |
| 45 | _treeView->setItemHeight(value / 10); |
| 46 | }); |
| 47 | QHBoxLayout* itemHeightLayout = new QHBoxLayout(); |
| 48 | itemHeightLayout->setContentsMargins(0, 0, 0, 0); |
| 49 | itemHeightLayout->addWidget(itemHeightText); |
| 50 | itemHeightLayout->addWidget(itemHeightSlider); |
| 51 | itemHeightLayout->addWidget(itemHeightValueText); |
| 52 | |
| 53 | // HeaderMargin |
| 54 | ElaText* headerMarginText = new ElaText("HeaderMargin", this); |
| 55 | headerMarginText->setTextPixelSize(15); |
| 56 | ElaSlider* headerMarginSlider = new ElaSlider(this); |
| 57 | headerMarginSlider->setRange(0, 200); |
| 58 | headerMarginSlider->setValue(50); |
| 59 | ElaText* headerMarginValueText = new ElaText("5", this); |
| 60 | headerMarginValueText->setTextPixelSize(15); |
| 61 | connect(headerMarginSlider, &ElaSlider::valueChanged, this, [=](int value) { |
| 62 | headerMarginValueText->setText(QString::number(value / 10)); |
| 63 | _treeView->setHeaderMargin(value / 10); |
| 64 | }); |
| 65 | QHBoxLayout* headerMarginLayout = new QHBoxLayout(); |
| 66 | headerMarginLayout->setContentsMargins(0, 0, 0, 0); |
| 67 | headerMarginLayout->addWidget(headerMarginText); |
| 68 | headerMarginLayout->addWidget(headerMarginSlider); |
| 69 | headerMarginLayout->addWidget(headerMarginValueText); |
| 70 |
nothing calls this directly
no test coverage detected