MCPcopy Create free account
hub / github.com/Liniyous/ElaWidgetTools / T_Icon

Method T_Icon

ElaWidgetToolsExample/ExamplePage/T_Icon.cpp:14–58  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

12#include "T_IconDelegate.h"
13#include "T_IconModel.h"
14T_Icon::T_Icon(QWidget* parent)
15 : T_BasePage(parent)
16{
17 // 预览窗口标题
18 setWindowTitle("ElaIcon");
19 // 顶部元素
20 createCustomWidget("一堆常用图标被放置于此,左键单击以复制其枚举");
21
22 _metaEnum = QMetaEnum::fromType<ElaIconType::IconName>();
23 QWidget* centralWidget = new QWidget(this);
24 QVBoxLayout* centerVLayout = new QVBoxLayout(centralWidget);
25 centerVLayout->setContentsMargins(0, 0, 5, 0);
26 centralWidget->setWindowTitle("ElaIcon");
27 // ListView
28 _iconView = new ElaListView(this);
29 _iconView->setIsTransparent(true);
30 _iconView->setFlow(QListView::LeftToRight);
31 _iconView->setViewMode(QListView::IconMode);
32 _iconView->setResizeMode(QListView::Adjust);
33 connect(_iconView, &ElaListView::clicked, this, [=](const QModelIndex& index) {
34 QString iconName = _iconModel->getIconNameFromModelIndex(index);
35 if (iconName.isEmpty())
36 {
37 return;
38 }
39 qApp->clipboard()->setText(iconName);
40 ElaMessageBar::success(ElaMessageBarType::Top, "复制完成", iconName + "已被复制到剪贴板", 1000, this);
41 });
42 _iconModel = new T_IconModel(this);
43 _iconDelegate = new T_IconDelegate(this);
44 _iconView->setModel(_iconModel);
45 _iconView->setItemDelegate(_iconDelegate);
46 _iconView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
47
48 _searchEdit = new ElaLineEdit(this);
49 _searchEdit->setPlaceholderText("搜索图标");
50 _searchEdit->setFixedSize(300, 35);
51 connect(_searchEdit, &ElaLineEdit::textEdited, this, &T_Icon::onSearchEditTextEdit);
52 connect(_searchEdit, &ElaLineEdit::focusIn, this, &T_Icon::onSearchEditTextEdit);
53
54 centerVLayout->addSpacing(13);
55 centerVLayout->addWidget(_searchEdit);
56 centerVLayout->addWidget(_iconView);
57 this->addCentralWidget(centralWidget, true, true, 0);
58}
59
60T_Icon::~T_Icon()
61{

Callers

nothing calls this directly

Calls 6

setPlaceholderTextMethod · 0.80
setFixedSizeMethod · 0.80
addWidgetMethod · 0.80
setIsTransparentMethod · 0.45
addCentralWidgetMethod · 0.45

Tested by

no test coverage detected