#include "xtoolbar.h" XToolBar::XToolBar(QWidget *parent) : QWidget(parent) { initVariable(); initUI(); } XToolBar::~XToolBar() { delete m_pLabelLogo; for(int i=0;isetMousePressFlag(false); } } } void XToolBar::initVariable() { m_pLabelLogo = new QLabel(this); m_pLayout = new QHBoxLayout(this); QStringList names; names<<"号码魔方"<<"实号下载"<<"瞬时快检"<<"信源检测"; QStringList files; files<<":/toolBar/mf"<<":/toolBar/shkj"<<":/toolBar/shunshi"<<":/toolBar/xinyuan" ; for(int i=0;isetPixmap(QPixmap(files.at(i))); button->setText(names.at(i)); m_pListToolButton.append(button); connect(button,SIGNAL(signalLabelPress(XToolButton*)),this,SLOT(slotOnButtonSelect(XToolButton*))); } } void XToolBar::initUI() { m_pLabelLogo->setMaximumSize(48,48); m_pLabelLogo->setPixmap(QPixmap(":/common/appicon")); m_pLabelLogo->setScaledContents(true); setMouseTracking(true); setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Fixed); for(int i=0;iaddWidget(m_pListToolButton[i]); } m_pLayout->addStretch(1); m_pLayout->addWidget(m_pLabelLogo); m_pLayout->setContentsMargins(10,0,0,0); m_pLayout->setSpacing(5); this->setLayout(m_pLayout); } void XToolBar::mouseMoveEvent(QMouseEvent *e) { setCursor(Qt::ArrowCursor); if((e->buttons() == Qt::LeftButton) && m_mouseMoveWindowFlag) { // static QWidget* parent_widget = this->parentWidget(); // QPoint parent_point = parent_widget->pos(); // parent_point.setX(parent_point.x() + e->x() - m_mouseSrcPos.x()); // parent_point.setY(parent_point.y() + e->y() - m_mouseSrcPos.y()); // parent_widget->move(parent_point); } e->ignore(); } void XToolBar::mousePressEvent(QMouseEvent *e) { m_mouseMoveWindowFlag = false; if (e->button() == Qt::LeftButton) { // if(e->y()x()x()ignore(); // m_mouseMoveWindowFlag = false; // return; // } m_mouseSrcPos = e->pos(); m_mouseMoveWindowFlag = true; } e->ignore(); } void XToolBar::mouseReleaseEvent(QMouseEvent *e) { m_mouseMoveWindowFlag = false; e->ignore(); } void XToolBar::paintEvent(QPaintEvent *e) { }