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