| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- #include "xtoolbar.h"
- XToolBar::XToolBar(QWidget *parent) :
- QWidget(parent)
- {
- initVariable();
- initUI();
- }
- XToolBar::~XToolBar()
- {
- delete m_pLabelLogo;
- for(int i=0;i<m_pListToolButton.count();i++)
- {
- if(m_pListToolButton[i])
- delete m_pListToolButton[i];
- }
- }
- void XToolBar::slotOnButtonSelect(XToolButton *btn)
- {
- for(int i=0;i<m_pListToolButton.count();i++)
- {
- if(btn != m_pListToolButton[i])
- {
- m_pListToolButton[i]->setMousePressFlag(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;i<names.count();i++)
- {
- XToolButton *button = new XToolButton(this);
- button->setPixmap(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;i<m_pListToolButton.count();i++)
- {
- m_pLayout->addWidget(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()<TITLEBAR_MARGIN||e->x()<TITLEBAR_MARGIN||rect().width()-e->x()<TITLEBAR_MARGIN)
- // {
- // e->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)
- {
- }
|