做边框修改
This commit is contained in:
parent
f029c195fd
commit
00c23c6617
|
@ -5,6 +5,7 @@
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include "imageutil.h"
|
#include "imageutil.h"
|
||||||
|
#include "../gsettingswrapper.h"
|
||||||
|
|
||||||
MyIconButton::MyIconButton(QWidget *parent) :
|
MyIconButton::MyIconButton(QWidget *parent) :
|
||||||
QPushButton(parent)
|
QPushButton(parent)
|
||||||
|
@ -12,7 +13,7 @@ MyIconButton::MyIconButton(QWidget *parent) :
|
||||||
this->setCheckable(false);
|
this->setCheckable(false);
|
||||||
|
|
||||||
m_iconButton = new QPushButton(this);
|
m_iconButton = new QPushButton(this);
|
||||||
m_iconButton->setCheckable(false);
|
m_iconButton->setCheckable(true);
|
||||||
m_iconButton->setFixedSize(QSize(24, 24));
|
m_iconButton->setFixedSize(QSize(24, 24));
|
||||||
m_iconButton->setFocusPolicy(Qt::NoFocus);
|
m_iconButton->setFocusPolicy(Qt::NoFocus);
|
||||||
m_iconButton->setFlat(true);
|
m_iconButton->setFlat(true);
|
||||||
|
@ -32,13 +33,6 @@ MyIconButton::MyIconButton(QWidget *parent) :
|
||||||
setLayout(hLayout);
|
setLayout(hLayout);
|
||||||
|
|
||||||
connect(m_iconButton, &QPushButton::clicked, this, &MyIconButton::click);
|
connect(m_iconButton, &QPushButton::clicked, this, &MyIconButton::click);
|
||||||
// connect(this, &QPushButton::toggled, this, [=] (bool checked) {
|
|
||||||
// if (checked)
|
|
||||||
// m_textLabel->setStyleSheet("color:white");
|
|
||||||
// else
|
|
||||||
// m_textLabel->setStyleSheet("color:palette(windowText)");
|
|
||||||
// });
|
|
||||||
connect(this, &QPushButton::toggled, this, &MyIconButton::changePalette);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MyIconButton::~MyIconButton()
|
MyIconButton::~MyIconButton()
|
||||||
|
@ -61,16 +55,26 @@ void MyIconButton::setDesplayText(const QString &text)
|
||||||
|
|
||||||
void MyIconButton::changePalette(bool checked)
|
void MyIconButton::changePalette(bool checked)
|
||||||
{
|
{
|
||||||
// m_iconButton->setChecked(checked);
|
m_iconButton->setChecked(checked);
|
||||||
QPalette pal(m_textLabel->palette());
|
QPalette pal = m_textLabel->palette();
|
||||||
QIcon icon = QIcon::fromTheme(m_themeIconName, QIcon(m_defaultIconName));
|
QIcon icon = QIcon::fromTheme(m_themeIconName, QIcon(m_defaultIconName));
|
||||||
QPixmap pix;
|
QPixmap pix;
|
||||||
|
if (g_GSettingWrapper.isDarkTheme()) {
|
||||||
if (checked) {
|
if (checked) {
|
||||||
pal.setColor(QPalette::ButtonText, pal.color(QPalette::HighlightedText));
|
pal.setColor(QPalette::ButtonText, this->palette().highlightedText().color());
|
||||||
|
pix = ImageUtil::loadPixmap(icon, QString("black"));
|
||||||
|
} else {
|
||||||
|
pal.setColor(QPalette::ButtonText, this->palette().windowText().color());
|
||||||
|
pix = ImageUtil::loadPixmap(icon, QString("white"));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (checked) {
|
||||||
|
pal.setColor(QPalette::ButtonText, this->palette().highlightedText().color());
|
||||||
pix = ImageUtil::loadPixmap(icon, QString("white"));
|
pix = ImageUtil::loadPixmap(icon, QString("white"));
|
||||||
} else {
|
} else {
|
||||||
pal.setColor(QPalette::ButtonText, pal.color(QPalette::WindowText));
|
pal.setColor(QPalette::ButtonText, this->palette().windowText().color());
|
||||||
pix = ImageUtil::loadPixmap(icon, QString("default"));
|
pix = ImageUtil::loadPixmap(icon, QString("black"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
m_textLabel->setPalette(pal);
|
m_textLabel->setPalette(pal);
|
||||||
m_iconButton->setIcon(pix);
|
m_iconButton->setIcon(pix);
|
||||||
|
@ -79,6 +83,7 @@ void MyIconButton::changePalette(bool checked)
|
||||||
void MyIconButton::paintEvent(QPaintEvent *event)
|
void MyIconButton::paintEvent(QPaintEvent *event)
|
||||||
{
|
{
|
||||||
QPushButton::paintEvent(event);
|
QPushButton::paintEvent(event);
|
||||||
|
changePalette(isChecked());
|
||||||
m_textLabel->setFixedWidth(this->width() - 38);
|
m_textLabel->setFixedWidth(this->width() - 38);
|
||||||
m_textLabel->setDeplayText(m_originalText);
|
m_textLabel->setDeplayText(m_originalText);
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,18 +56,18 @@ void MyIconLabel::setDesplayText(const QString &text)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MyIconLabel::changePalette(bool dark)
|
//void MyIconLabel::changePalette(bool dark)
|
||||||
{
|
//{
|
||||||
QPalette pal(m_textLabel->palette());
|
// QPalette pal(m_textLabel->palette());
|
||||||
QIcon icon = QIcon::fromTheme(m_themeIconName, QIcon(m_defaultIconName));
|
// QIcon icon = QIcon::fromTheme(m_themeIconName, QIcon(m_defaultIconName));
|
||||||
QPixmap pix;
|
// QPixmap pix;
|
||||||
if (dark) {
|
// if (dark) {
|
||||||
pal.setColor(QPalette::WindowText, pal.color(QPalette::HighlightedText));
|
// pal.setColor(QPalette::WindowText, pal.color(QPalette::HighlightedText));
|
||||||
pix = ImageUtil::loadPixmap(icon, QString("white"));
|
// pix = ImageUtil::loadPixmap(icon, QString("white"));
|
||||||
} else {
|
// } else {
|
||||||
pal.setColor(QPalette::WindowText, this->palette().color(QPalette::WindowText));
|
// pal.setColor(QPalette::WindowText, this->palette().color(QPalette::WindowText));
|
||||||
pix = ImageUtil::loadPixmap(icon, QString("default"));
|
// pix = ImageUtil::loadPixmap(icon, QString("default"));
|
||||||
}
|
// }
|
||||||
m_textLabel->setPalette(pal);
|
// m_textLabel->setPalette(pal);
|
||||||
m_iconLabel->setPixmap(pix);
|
// m_iconLabel->setPixmap(pix);
|
||||||
}
|
//}
|
||||||
|
|
|
@ -15,7 +15,7 @@ public:
|
||||||
void setDesplayText(const QString &text);
|
void setDesplayText(const QString &text);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void changePalette(bool checked);
|
// void changePalette(bool checked);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QLabel *m_iconLabel;
|
QLabel *m_iconLabel;
|
||||||
|
|
Loading…
Reference in New Issue