xref: /OK3568_Linux_fs/app/qsetting/basewidget.cpp (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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