首次提交
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
#include <utility>
|
||||
#include "AbstractTextButton.h"
|
||||
#include <QPainter>
|
||||
|
||||
AbstractTextButton::AbstractTextButton(QWidget *parent) : QWidget(parent) {
|
||||
}
|
||||
|
||||
void AbstractTextButton::paintEvent(QPaintEvent *event) {
|
||||
QPainter painter(this);
|
||||
painter.fillRect(rect(), Qt::red);
|
||||
painter.end();
|
||||
}
|
||||
|
||||
void AbstractTextButton::mousePressEvent(QMouseEvent *event) {
|
||||
if(mClick) mClick();
|
||||
event->accept();
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
#ifndef AbstractTextButton_H
|
||||
#define AbstractTextButton_H
|
||||
#include "../Global.h"
|
||||
class AbstractTextButton : public QWidget {
|
||||
public:
|
||||
explicit AbstractTextButton(QWidget *parent = nullptr);
|
||||
QFont mFont;
|
||||
QColor mBackgroundColor;
|
||||
QColor mEnterColor;
|
||||
QPen mPen;
|
||||
bool mEnter = false;
|
||||
std::function<void(void)> mClick = nullptr;
|
||||
protected:
|
||||
void paintEvent(QPaintEvent *event) override;
|
||||
void mousePressEvent(QMouseEvent *event) override;
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
#include "ConsoleWidget.h"
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
#ifndef ConsoleWidget_H
|
||||
#define ConsoleWidget_H
|
||||
#include "../Global.h"
|
||||
#include <QTextEdit>
|
||||
class ConsoleWidget : public QTextEdit {
|
||||
public:
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
#include "Electricity.h"
|
||||
#include <QPainter>
|
||||
|
||||
Electricity::Electricity(QWidget *parent) : QWidget(parent) {
|
||||
}
|
||||
|
||||
void Electricity::paintEvent(QPaintEvent *event) {
|
||||
QPainter painter(this);
|
||||
painter.fillRect(rect(), Qt::red);
|
||||
painter.end();
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
#ifndef Electricity_H
|
||||
#define Electricity_H
|
||||
#include "../Global.h"
|
||||
class Electricity : public QWidget {
|
||||
public:
|
||||
explicit Electricity(QWidget *parent = nullptr);
|
||||
protected:
|
||||
void paintEvent(QPaintEvent *event) override;
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
#include "ExpandInput.h"
|
||||
#include "../BackEnd/MainWidget.h"
|
||||
#include "YSGraphic_Core/base/export.h"
|
||||
#include <QAction>
|
||||
#include <QPainter>
|
||||
ExpandInput::ExpandInput(QWidget *parent) : QLineEdit(parent) {
|
||||
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||
setMinimumSize(0, 0);
|
||||
setFrame(false);
|
||||
mFont.setBold(true);
|
||||
YSG::VirtualKeyBoard::instance()->setEdit(this);
|
||||
}
|
||||
|
||||
void ExpandInput::paintEvent(QPaintEvent *event) {
|
||||
// QPainter painter(this);
|
||||
// painter.fillRect(rect(), Qt::red);
|
||||
// painter.end();
|
||||
QLineEdit::paintEvent(event);
|
||||
}
|
||||
|
||||
void ExpandInput::resizeEvent(QResizeEvent *event) {
|
||||
int pixelSize = Global::instance()->adaptHeight(60);
|
||||
QFont font = mFont;
|
||||
font.setPixelSize(pixelSize);
|
||||
setFont(font);
|
||||
QWidget::resizeEvent(event);
|
||||
}
|
||||
|
||||
void ExpandInput::focusInEvent(QFocusEvent *event) {
|
||||
setStyleSheet("QLineEdit { border: 4px dashed gray; }");
|
||||
update();
|
||||
event->accept();
|
||||
}
|
||||
|
||||
void ExpandInput::focusOutEvent(QFocusEvent *event) {
|
||||
setStyleSheet("QLineEdit { border: 0px dashed gray; }");
|
||||
QLineEdit::focusOutEvent(event);
|
||||
}
|
||||
|
||||
void ExpandInput::keyPressEvent(QKeyEvent *event) {
|
||||
QLineEdit::keyPressEvent(event);
|
||||
event->ignore();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
#ifndef ExpandInput_H
|
||||
#define ExpandInput_H
|
||||
#include "../Global.h"
|
||||
#include <QLineEdit>
|
||||
class ExpandInput : public QLineEdit {
|
||||
public:
|
||||
explicit ExpandInput(QWidget *parent = nullptr);
|
||||
QFont mFont;
|
||||
protected:
|
||||
void paintEvent(QPaintEvent *event) override;
|
||||
void resizeEvent(QResizeEvent *event) override;
|
||||
void focusInEvent(QFocusEvent *event) override;
|
||||
void focusOutEvent(QFocusEvent *event) override;
|
||||
|
||||
void keyPressEvent(QKeyEvent *event) override;
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
#include "FrequentShower.h"
|
||||
#include <QPainter>
|
||||
#include <QDebug>
|
||||
#include <QKeyEvent>
|
||||
#include "../Global.h"
|
||||
|
||||
|
||||
|
||||
|
||||
FrequentShower::FrequentShower(QWidget *parent) : QWidget(parent) {
|
||||
setObjectName("设置频率值控件");
|
||||
setFrequent(BackEnd::instance()->YsGetFreq());
|
||||
}
|
||||
|
||||
void FrequentShower::paintEvent(QPaintEvent *event) {
|
||||
QPainter painter(this);
|
||||
QFont font;
|
||||
font.setPointSize(calculateOptimalFontSize(mFrequent, {(int)((double)width() * 0.9), height()}, font));
|
||||
painter.setFont(font);
|
||||
painter.setPen(Qt::black);
|
||||
painter.drawText(rect(), Qt::AlignCenter, mFrequent);
|
||||
QFontMetrics fontMetrics(font);
|
||||
if (selectIndex >= 0 && selectIndex < mFrequent.length()) {
|
||||
int a = (QWidget::width() - fontMetrics.horizontalAdvance(mFrequent)) / 2;
|
||||
int startX = a + fontMetrics.horizontalAdvance(mFrequent.mid(0, selectIndex));
|
||||
int w = fontMetrics.horizontalAdvance(mFrequent[selectIndex]);
|
||||
painter.fillRect(startX, 0, w, QWidget::height(), Qt::black);
|
||||
painter.setPen(Qt::white);
|
||||
painter.drawText(QRect(startX, 0, w, QWidget::height()), Qt::AlignCenter, QString(mFrequent[selectIndex]));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void FrequentShower::keyPressEvent(QKeyEvent *event) {
|
||||
BackEnd* g = BackEnd::instance();
|
||||
|
||||
QString keyText = event->text();
|
||||
if (keyText >= "0" && keyText <= "9") {
|
||||
mFrequent[selectIndex] = keyText.at(0).toLatin1();
|
||||
update();
|
||||
return;
|
||||
}
|
||||
if (g->match(event, "左移")) {
|
||||
move(-1);
|
||||
} else if (g->match(event, "右移")) {
|
||||
move(1);
|
||||
} else if (g->match(event, "增加")) {
|
||||
change(1);
|
||||
} else if (g->match(event, "减小")) {
|
||||
change(-1);
|
||||
}
|
||||
event->ignore();
|
||||
|
||||
}
|
||||
|
||||
void FrequentShower::move(int num) {
|
||||
selectIndex += num;
|
||||
if(selectIndex < 0) {
|
||||
selectIndex = 0;
|
||||
} else if(selectIndex >= mFrequent.length()) {
|
||||
selectIndex = mFrequent.length() - 1;
|
||||
}
|
||||
if(mFrequent[selectIndex] == '.') {
|
||||
if(num > 0) {
|
||||
selectIndex++;
|
||||
} else {
|
||||
selectIndex--;
|
||||
}
|
||||
}
|
||||
update();
|
||||
}
|
||||
|
||||
void FrequentShower::change(int num) {
|
||||
if (selectIndex >= 0 && selectIndex < mFrequent.length()) {
|
||||
int n = mFrequent[selectIndex].digitValue();
|
||||
n += num;
|
||||
if (n < 0) {
|
||||
n = 9;
|
||||
} else if (n > 9) {
|
||||
n = 0;
|
||||
}
|
||||
mFrequent[selectIndex] = QString::number(n)[0];
|
||||
update();
|
||||
BackEnd::instance()->YsSetFreq(QString(mFrequent).replace('.', "").toULongLong());
|
||||
}
|
||||
}
|
||||
|
||||
void FrequentShower::setFrequent(quint64 frequent) {
|
||||
QString strNumber = QString::number(frequent, 10);
|
||||
int padding = 11 - strNumber.length();
|
||||
if (padding > 0) {
|
||||
strNumber = QString(padding, '0') + strNumber;
|
||||
}
|
||||
mFrequent = QString("%1.%2.%3.%4").arg(
|
||||
strNumber.mid(0, 2),
|
||||
strNumber.mid(2, 3),
|
||||
strNumber.mid(5, 3),
|
||||
strNumber.mid(8, 3)
|
||||
);
|
||||
// qDebug() << strNumber << " " << mFrequent;
|
||||
update();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
#ifndef FrequentShower_H
|
||||
#define FrequentShower_H
|
||||
#include "../Global.h"
|
||||
|
||||
class FrequentShower : public QWidget {
|
||||
public:
|
||||
explicit FrequentShower(QWidget *parent = nullptr);
|
||||
void setFrequent(quint64 frequent);
|
||||
int selectIndex = 0;
|
||||
QString mFrequent = "00.000.000.000";
|
||||
protected:
|
||||
void paintEvent(QPaintEvent *event) override;
|
||||
void keyPressEvent(QKeyEvent *event) override;
|
||||
void move(int num);
|
||||
void change(int num);
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,88 @@
|
||||
#include "ProgressBar.h"
|
||||
#include <QPainter>
|
||||
|
||||
ProgressBar::ProgressBar(const QVector<Tick>& tickList, QWidget *parent) : QWidget(parent), mTickList(tickList) {
|
||||
setAttribute(Qt::WA_OpaquePaintEvent, true);
|
||||
mTimer = startTimer(30);
|
||||
}
|
||||
|
||||
double ProgressBar::getDrawWidth(double value) {
|
||||
int n = mTickList.size();
|
||||
int i = 1;
|
||||
for(; i < n - 1; ++i) {
|
||||
double cur = mTickList[i].mValue;
|
||||
if(mValue < cur || qFuzzyCompare(mValue, cur)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
int lowerOffset = i - 1;
|
||||
int upperOffset = i;
|
||||
double lower = mTickList[lowerOffset].mValue;
|
||||
double upper = mTickList[upperOffset].mValue;
|
||||
double w_step = (double)QWidget::width()/(double)(n-1);
|
||||
double lastRate = qMax(0.0, (mValue - lower)/(upper - lower));
|
||||
double drawWidth = w_step * (lastRate + lowerOffset);
|
||||
QString ticks;
|
||||
for(Tick& tick : mTickList) {
|
||||
ticks.append(" " + QString::number(tick.mValue));
|
||||
}
|
||||
// qDebug() << QString("%1->[%2,%3] i=%4 n=%5 drawWidth:%6 width:%7 ticks:%8 w_step:%9 lastRate:%10")
|
||||
// .arg(mValue).arg(lower).arg(upper).arg(i).arg(n).arg(drawWidth).arg(width()).arg(ticks)
|
||||
// .arg(w_step).arg(lastRate);
|
||||
return drawWidth;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void ProgressBar::paintEvent(QPaintEvent *event) {
|
||||
QPainter painter(this);
|
||||
painter.setPen(Qt::NoPen);
|
||||
painter.fillRect(rect(), QApplication::style()->standardPalette().brush(QPalette::Window));
|
||||
painter.setPen(QPen(Qt::black));
|
||||
auto w = (double)QWidget::width();
|
||||
auto hh = (double)height()/2;
|
||||
int n = mTickList.size();
|
||||
int tickW = 1;
|
||||
double drawWidth = getDrawWidth(mValue);
|
||||
// 背景
|
||||
painter.fillRect(0, 0, drawWidth - tickW - 4, height()/2, Qt::black);
|
||||
int curX = 0;
|
||||
// 进度条
|
||||
while(curX + tickW + 4 < drawWidth){
|
||||
painter.fillRect(curX, 0, tickW, height()/2, Qt::gray);
|
||||
curX += tickW + (int)mTickSpaceW;
|
||||
}
|
||||
int lineY = (int)hh + 2;
|
||||
painter.fillRect(curX -(int)mTickSpaceW , 0, 4, lineY - 0, Qt::yellow);
|
||||
painter.drawLine(0, lineY , (int)w, lineY);
|
||||
// 画刻度
|
||||
QFont font;
|
||||
font.setBold(true);
|
||||
QFontMetrics fm(font);
|
||||
for(int i = 0; i < n; ++i){
|
||||
int tickX = (int)((double)(QWidget::width() * i)/(double)(n - 1));
|
||||
int textW = fm.horizontalAdvance( mTickList[i].mText);
|
||||
int textX;
|
||||
if(i == n - 1) {
|
||||
textX = tickX - textW;
|
||||
tickX -=1;
|
||||
} else if( i == 0) {
|
||||
textX = tickX;
|
||||
} else {
|
||||
textX = tickX - textW/2;
|
||||
}
|
||||
painter.setPen(Qt::black);
|
||||
painter.drawLine(tickX, lineY, tickX, (lineY + 5));
|
||||
painter.setPen(mTickList[i].mColor);
|
||||
painter.setFont(font);
|
||||
painter.drawText(QRectF(textX, lineY, textW, lineY), Qt::AlignCenter, mTickList[i].mText);
|
||||
}
|
||||
}
|
||||
|
||||
void ProgressBar::timerEvent(QTimerEvent *event) {
|
||||
if(event->timerId() == mTimer) {
|
||||
if(mSetValue) mSetValue();
|
||||
update();
|
||||
}
|
||||
QObject::timerEvent(event);
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
#ifndef ProgressBar_H
|
||||
#define ProgressBar_H
|
||||
#include <utility>
|
||||
|
||||
#include "../Global.h"
|
||||
|
||||
struct Tick{
|
||||
QString mText;
|
||||
QColor mColor;
|
||||
double mValue = 0;
|
||||
Tick(QString text, QColor color) : mText(std::move(text)), mColor(std::move(color)){
|
||||
QString that = (mText[0] == '+' || mText[0] == '-' || mText[0] == '<' || mText[0] == '>') ? mText.mid(1) : mText;
|
||||
mValue = that.toDouble();
|
||||
}
|
||||
Tick(QString text, QColor color, double value) : mText(std::move(text)), mColor(std::move(color)){
|
||||
mValue = value;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
class ProgressBar : public QWidget {
|
||||
public:
|
||||
explicit ProgressBar(const QVector<Tick>& tickList, QWidget *parent = nullptr);
|
||||
double mTickSpaceW = 1;
|
||||
double mValue = 0;
|
||||
int mTimer;
|
||||
std::function<void(void)> mSetValue = nullptr;
|
||||
double getDrawWidth(double value);
|
||||
protected:
|
||||
void paintEvent(QPaintEvent *event) override;
|
||||
void timerEvent(QTimerEvent *event) override;
|
||||
QVector<Tick> mTickList;
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
#include "ShowHelpInfo.h"
|
||||
#include "../Global.h"
|
||||
#include <QPainter>
|
||||
#include "../BackEnd/MainWidget.h"
|
||||
|
||||
ShowHelpInfo::ShowHelpInfo(QWidget *parent) : QTextEdit(parent) {
|
||||
setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding));
|
||||
setMinimumSize(0, 0);
|
||||
setFrameStyle(0);
|
||||
setCursorWidth(0);
|
||||
setFocusPolicy(Qt::NoFocus);
|
||||
setReadOnly(true);
|
||||
setStyleSheet("color: black;");
|
||||
mFont.setBold(true);
|
||||
setEnabled(false);
|
||||
}
|
||||
|
||||
//void ShowHelpInfo::paintEvent(QPaintEvent *event) {
|
||||
// QTextEdit::paintEvent(event);
|
||||
//}
|
||||
|
||||
void ShowHelpInfo::resizeEvent(QResizeEvent *e) {
|
||||
QFont font = mFont;
|
||||
font.setPixelSize(Global::instance()->adaptHeight(mFont.pixelSize()));
|
||||
setFont(font);
|
||||
QTextEdit::resizeEvent(e);
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
#ifndef ShowHelpInfo_H
|
||||
#define ShowHelpInfo_H
|
||||
#include "../Global.h"
|
||||
#include <QTextEdit>
|
||||
class ShowHelpInfo : public QTextEdit {
|
||||
public:
|
||||
explicit ShowHelpInfo(QWidget *parent = nullptr);
|
||||
QFont mFont;
|
||||
protected:
|
||||
// void paintEvent(QPaintEvent *event) override;
|
||||
void resizeEvent(QResizeEvent *e) override;
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
#include "ShowTime.h"
|
||||
#include <QPainter>
|
||||
#include <QDateTime>
|
||||
#include <QString>
|
||||
|
||||
ShowTime::ShowTime(QWidget *parent) : QWidget(parent) {
|
||||
setObjectName("ShowTime");
|
||||
setAttribute(Qt::WA_OpaquePaintEvent);
|
||||
mTimer.start(1000);
|
||||
connect(&mTimer, &QTimer::timeout, this, [this](){
|
||||
update();
|
||||
});
|
||||
}
|
||||
|
||||
void ShowTime::paintEvent(QPaintEvent *event) {
|
||||
QPainter painter(this);
|
||||
painter.setPen(Qt::NoPen);
|
||||
painter.fillRect(rect(), QApplication::style()->standardPalette().brush(QPalette::Window));
|
||||
painter.setPen(QPen());
|
||||
QString&& dateTimeString = QDateTime::currentDateTime().toString("HH:mm:ss");
|
||||
painter.drawText(rect(), Qt::AlignCenter, dateTimeString);
|
||||
painter.end();
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
#ifndef ShowTime_H
|
||||
#define ShowTime_H
|
||||
#include "../Global.h"
|
||||
#include <QTimer>
|
||||
class ShowTime : public QWidget {
|
||||
public:
|
||||
explicit ShowTime(QWidget *parent = nullptr);
|
||||
QTimer mTimer;
|
||||
protected:
|
||||
void paintEvent(QPaintEvent *event) override;
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
#include "TopMenuBar.h"
|
||||
#include "../Global.h"
|
||||
#include "ShowTime.h"
|
||||
#include "../BackEnd/MainWidget.h"
|
||||
#include "../BaseWidget.h"
|
||||
#include "Wifi.h"
|
||||
|
||||
|
||||
TopMenuBar::TopMenuBar(QWidget *parent) : QWidget(parent) {
|
||||
int fontSize = 20;
|
||||
mAM = createButton("AM", fontSize);
|
||||
mATU = createButton("ATU", fontSize);
|
||||
mVSQL = createButton("VSQL", fontSize);
|
||||
mNB = createButton("NB", fontSize);
|
||||
mNR = createButton("NR", fontSize);
|
||||
mDNF = createButton("DNF", fontSize);
|
||||
mPRE = createButton("PRE", fontSize);
|
||||
mATT = createButton("ATT", fontSize);
|
||||
mSPL = createButton("SPL", fontSize);
|
||||
mFIL1 = createButton("FIL1", fontSize);
|
||||
mAGC_A = createButton("AGC_A", fontSize);
|
||||
mTextButtonList = new YSG::RollObject<QPushButton>({mAM, mATU, mVSQL, mNB, mNR, mDNF, mPRE, mATT, mSPL, mFIL1, mAGC_A}, [](QPushButton* cur){
|
||||
|
||||
}, [](QPushButton* btn){
|
||||
|
||||
}, this);
|
||||
mShowTime = new ShowTime;
|
||||
mWifi = new Wifi;
|
||||
QHBoxLayout* statusBar = mTextButtonList->hBoxLayout(2);
|
||||
statusBar->addStretch(3);
|
||||
statusBar->addWidget(mWifi, 1);
|
||||
statusBar->addWidget(mShowTime, 1);
|
||||
setLayout(statusBar);
|
||||
}
|
||||
|
||||
//void TopMenuBar::paintEvent(QPaintEvent *event) {
|
||||
// QPainter painter(this);
|
||||
// painter.fillRect(rect(), Qt::red);
|
||||
// painter.end();
|
||||
//}
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
#ifndef TopMenuBar_H
|
||||
#define TopMenuBar_H
|
||||
#include "../Global.h"
|
||||
#include "YSGraphic_Core/base/export.h"
|
||||
|
||||
class TopButton;
|
||||
class ShowTime;
|
||||
class Wifi;
|
||||
class QPushButton;
|
||||
class TopMenuBar : public QWidget, public YSG::SingletonWidget<TopMenuBar> {
|
||||
public:
|
||||
explicit TopMenuBar(QWidget *parent = nullptr);
|
||||
QPushButton *mAM, *mATU, *mVSQL, *mNB, *mNR, *mDNF, *mPRE, *mATT, *mSPL, *mFIL1, *mAGC_A;
|
||||
Wifi* mWifi;
|
||||
YSG::RollObject<QPushButton> *mTextButtonList;
|
||||
int index = 0;
|
||||
ShowTime *mShowTime;
|
||||
protected:
|
||||
// void paintEvent(QPaintEvent *event) override;
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
#include "Wifi.h"
|
||||
#include "../Global.h"
|
||||
#include <QPainter>
|
||||
#include <QDebug>
|
||||
|
||||
Wifi::Wifi(QWidget *parent) : QWidget(parent) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void Wifi::paintEvent(QPaintEvent *event) {
|
||||
QPainter painter(this);
|
||||
// painter.fillRect(rect(), Qt::red);
|
||||
QRect window(0, 0, 20, 10);
|
||||
painter.setWindow(window);
|
||||
double w = window.width(), h = window.height();
|
||||
QRect drawRect = getMaxRect(rect(), w / h);
|
||||
painter.setViewport(drawRect);
|
||||
double rate = 1.5; // wife宽度 : 间隙宽度
|
||||
double baseHeightRate = 0.2;
|
||||
double spaceWidth = w/(1.0 * 4 + rate * 5);
|
||||
double stripWidth = spaceWidth * rate;
|
||||
double baseHeight = h * baseHeightRate;
|
||||
double raiseHeight = h * (1.0 - baseHeightRate)/4.0;
|
||||
double raiseWidth = spaceWidth + stripWidth;
|
||||
QRect textRect = QRect(0, 0, (int)(raiseWidth * 2), (int)(baseHeight * 2));
|
||||
QFont font;
|
||||
font.setPixelSize(5);
|
||||
font.setBold(true);
|
||||
painter.setFont(font);
|
||||
QPen pen;
|
||||
pen.setColor(Qt::white);
|
||||
painter.setPen(pen);
|
||||
painter.drawText(textRect, Qt::AlignJustify | Qt::AlignVCenter, "4G");
|
||||
for(int i = 0; i < 5; ++i){
|
||||
double curHeight = baseHeight + i * raiseHeight;
|
||||
double curX = 0 + raiseWidth * i;
|
||||
QColor color = i < value ? Qt::white : QColor(0, 0, 0, 50);
|
||||
painter.fillRect(QRectF(curX, h - curHeight, stripWidth, curHeight), color);
|
||||
}
|
||||
painter.end();
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
#ifndef Wifi_H
|
||||
#define Wifi_H
|
||||
#include "../Global.h"
|
||||
class Wifi : public QWidget {
|
||||
public:
|
||||
explicit Wifi(QWidget *parent = nullptr);
|
||||
int value = 3;
|
||||
protected:
|
||||
void paintEvent(QPaintEvent *event) override;
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user