资源简介
列表下拉框、表格下拉框和城市列表下拉框。讲述博客: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
- 上一篇:qt之QComboBox定制
- 下一篇:停靠窗自动隐藏
评论
共有 条评论