• 大小: 44KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: 其他
  • 标签:

资源简介

列表下拉框、表格下拉框和城市列表下拉框。讲述博客:Qt之QComboBox定制(二)

资源截图

代码片段和文件信息

#include “stdafx.h“

#include “CComboBox.h“

CActionContentWidget::CActionContentWidget(const QString & text QWidget * parent /*= nullptr*/) :QWidget(parent)
{
InitializeUI();

SetContentText(text);
}

CActionContentWidget::~CActionContentWidget()
{

}

void CActionContentWidget::SetContentText(const QString & text)
{
if (m_ActText)
{
m_ActText->setText(text);
}
}

void CActionContentWidget::SetItemIcon(const QString & icon const QString & hover)
{
setstyleSheet(QString(“QWidget#m_ContentWidget{background:#f0eeee;}“
“QWidget#m_ContentWidget[MouseHover=true]{background:#f2868b;height:30px;}“//f2868b
“QLabel{color:#777777;font-family:%1;font-size:12px;padding-left:8px;background:#f6f6f6;}“
“QLabel[MouseHover=true]{color:#ffffff;font-family:%1;font-size:12px;padding-left:8px;background:transparent;}“//f2868b
“QPushButton{border-image:url(%2); margin:2 2 2 2;}“
“QPushButton[MouseHover=true]{border-image:url(%3); margin:3 3 3 3;}“
).arg(QStringLiteral(“微软雅黑“)).arg(icon).arg(hover));
}

void CActionContentWidget::SetBackgroundRole(bool hover)
{
QString styleStr = styleSheet();
setstyleSheet(““);
setstyleSheet(styleStr);
}

bool CActionContentWidget::eventFilter(Qobject * obj QEvent * event)
{
if (obj == m_ActIcon || obj == m_ActText)
{
if (QMouseEvent * mouseEvent = static_cast(event))
{
if (QEvent::MouseMove == event->type())
{
qDebug() << “event->type()“ << event->type();
}
}
}

return QWidget::eventFilter(obj event);
}

void CActionContentWidget::mousePressEvent(QMouseEvent * event) 
{
if (event->button() == Qt::LeftButton)
{
m_Mouse_press = true;
}
}

void CActionContentWidget::mouseReleaseEvent(QMouseEvent * event) 
{
if (m_Mouse_press)
{
emit showText(m_ActText->text());
m_Mouse_press = false;
}
}

void CActionContentWidget::InitializeUI()
{
m_ContentWidget = new QWidget();
m_ActIcon = new QPushButton();
m_ActText = new QLabel();
QHBoxLayout * mainLayout = new QHBoxLayout();

connect(m_ActIcon &QPushButton::clicked this [this]{
emit showText(m_ActText->text());
});

m_ActIcon->installEventFilter(this);
m_ActText->installEventFilter(this);

mainLayout->setMargin(0);
mainLayout->setSpacing(0);

m_ActIcon->setFixedSize(45 45);

m_ContentWidget->setobjectName(QStringLiteral(“m_ContentWidget“));
m_ActIcon->setobjectName(QStringLiteral(“ActionIcon“));
m_ActText->setobjectName(QStringLiteral(“m_ActText“));

mainLayout->addWidget(m_ActIcon);
mainLayout->addWidget(m_ActText);

m_ContentWidget->setLayout(mainLayout);

QVBoxLayout * fwLayout = new QVBoxLayout();
fwLayout->setMargin(0);
fwLayout->setSpacing(0);
fwLayout->addWidget(m_ContentWidget);
setLayout(fwLayout);
}

bool CCheckBoxItem::hitButton(const QPoint & pos) const
{
bool r = QCheckBox::hitButton(pos);
qDebug() << “r“ << r;

return true;
}

CComboBoxWidget::CComboBoxWidget(S

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-08-12 16:17  combobox\
     文件       14278  2016-08-03 16:15  combobox\CComboBox.cpp
     文件        3521  2016-08-03 12:22  combobox\CComboBox.h
     文件        1179  2016-08-03 13:47  combobox\CComboBox.ui
     文件        5334  2016-08-03 14:06  combobox\CDropDownBox.cpp
     文件        1977  2016-08-03 13:51  combobox\CDropDownBox.h
     文件        6911  2016-08-04 22:10  combobox\CityComboBox.cpp
     文件        2481  2016-08-04 22:10  combobox\CityComboBox.h
     文件        2734  2014-11-25 22:48  combobox\combobox.ico
     文件         198  2016-08-12 14:52  combobox\combobox.qrc
     文件          47  2016-07-26 15:09  combobox\combobox.rc
     文件       17551  2016-08-04 22:27  combobox\combobox.vcxproj
     文件        4341  2016-08-04 22:27  combobox\combobox.vcxproj.filters
     文件         673  2016-08-12 14:50  combobox\combobox.vcxproj.user
     文件       18622  2016-08-12 15:58  combobox\CustomPopupComboBox.cpp
     文件        5566  2016-08-12 16:17  combobox\CustomPopupComboBox.h
     文件        3508  2016-06-30 12:53  combobox\FlowLayout.cpp
     文件        1142  2016-05-01 20:35  combobox\FlowLayout.h
     文件        3555  2016-08-05 15:59  combobox\main.cpp
     目录           0  2016-08-12 14:51  combobox\Resources\
     文件       23654  2016-07-29 14:25  combobox\Resources\827497276600926646.png
     文件        1052  2016-08-10 11:12  combobox\Resources\bg.png
     文件        7317  2016-07-26 17:03  combobox\Resources\icon1.jpg
     文件          23  2016-08-03 16:54  combobox\stdafx.cpp
     文件          48  2016-08-03 17:42  combobox\stdafx.h
     文件        1073  2016-08-04 22:37  combobox\TextComboBox.cpp
     文件         449  2016-08-04 22:35  combobox\TextComboBox.h
     文件         967  2016-08-04 22:29  combobox\TextComboBox.ui

评论

共有 条评论

相关资源