1 #include "basewidget.h"
2 #include <QStyleOption>
3 #include <QPainter>
4
5 static int _id_widget = 0;
6
BaseWidget(QWidget * parent)7 BaseWidget::BaseWidget(QWidget *parent) : QWidget(parent)
8 {
9 #ifndef DEVICE_EVB
10 setWindowFlags(Qt::FramelessWindowHint);
11 setAttribute(Qt::WA_TranslucentBackground, true);
12 #endif
13 setMouseTracking(true);
14 }
15
paintEvent(QPaintEvent *)16 void BaseWidget::paintEvent(QPaintEvent *)
17 {
18 /* Slove the problem which 'setStyleSheet' and 'Q_OBJECT' can co-exist
19 The below code used to repaint widgets when change became. */
20 QStyleOption opt;
21 opt.init(this);
22 QPainter p(this);
23 style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
24 }
25
setBackgroundColor(int rValue,int gValue,int bValue)26 void BaseWidget::setBackgroundColor(int rValue, int gValue, int bValue)
27 {
28 _id_widget++;
29 QString styleStr;
30
31 setObjectName(QString::number(_id_widget));
32 styleStr.append("#").append(QString::number(_id_widget)).append("{background-color:rgb(")
33 .append(QString::number(rValue)).append(",")
34 .append(QString::number(gValue)).append(",")
35 .append(QString::number(bValue)).append(");")
36 .append("}");
37
38 setStyleSheet(styleStr);
39 }
40
setWidgetFontBold(QWidget * widget)41 void BaseWidget::setWidgetFontBold(QWidget *widget)
42 {
43 QFont font = widget->font();
44 font.setBold(true);
45 widget->setFont(font);
46 }
47
setWidgetFontSize(QWidget * widget,int size)48 void BaseWidget::setWidgetFontSize(QWidget *widget, int size)
49 {
50 QFont font = widget->font();
51 font.setPixelSize(size);
52 widget->setFont(font);
53 }
54
mousePressEvent(QMouseEvent * e)55 void BaseWidget::mousePressEvent(QMouseEvent *e)
56 {
57 QWidget::mousePressEvent(e);
58 }
59
mouseMoveEvent(QMouseEvent * e)60 void BaseWidget::mouseMoveEvent(QMouseEvent *e)
61 {
62 QWidget::mouseMoveEvent(e);
63 }
64
mouseReleaseEvent(QMouseEvent * e)65 void BaseWidget::mouseReleaseEvent(QMouseEvent *e)
66 {
67 QWidget::mouseReleaseEvent(e);
68 }
69