1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/tgtsml-QtPlayer

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
xslider.cpp 2.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
tgtsml Отправлено 02.01.2022 16:39 8633dbf
#include "xslider.h"
#include <QLabel>
#include <QDebug>
#include <QVBoxLayout>
#include <QMouseEvent>
XSlider::XSlider(Qt::Orientation orientation, QWidget *parent) : QSlider(orientation, parent)
{
m_valueLabel = new QLabel(this);
m_valueLabel->setFont(QFont("Arial", 8));
if(orientation == Qt::Vertical){
m_valueLabel->setAlignment(Qt::AlignCenter);
QVBoxLayout *layout = new QVBoxLayout(this);
layout->addWidget(m_valueLabel);
layout->addStretch(1);
layout->setMargin(0);
}
else{
m_valueLabel->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
QHBoxLayout *layout = new QHBoxLayout(this);
layout->addWidget(m_valueLabel);
layout->addStretch(1);
layout->setMargin(0);
}
updateLabelDisplay();
this->setFocusPolicy(Qt::StrongFocus);
connect(this, &XSlider::valueChanged, this, &XSlider::updateLabelDisplay);
this->setStyleSheet("QSlider::vertical{background:transparent;padding-top:12px;padding-bottom:3px;min-width:25px;}"
"QSlider::groove:vertical {background:rgb(45,152,255);width:4px;}"
"QSlider::handle:vertical {background:rgb(45,152,255);height: 10px;border-radius:5px;margin:0px -8px;}"
"QSlider::handle:pressed:vertical {background-color:white;}"
"QSlider::add-page:Vertial{background-color:gray;}"
"QSlider::sub-page:Vertial {background-color:rgb(45,152,255);}"
"QSlider::horizontal{background:transparent;padding-left:20px;min-height:25px;}"
"QSlider::groove:horizontal {background:rgb(45,152,255);height:4px;}"
"QSlider::handle:horizontal {background:rgb(45,152,255);width: 10px;border-radius:5px;margin:-8px 0px;}"
"QSlider::handle:pressed:horizontal {background-color:white;}"
"QSlider::add-page:horizontal{background-color:gray;}"
"QSlider::sub-page:horizontal {background-color:rgb(45,152,255);}"
"QLabel{color:rgb(45,152,255);}");
}
XSlider::~XSlider()
{
if(m_valueLabel){
m_valueLabel->deleteLater();
}
}
void XSlider::updateLabelDisplay()
{
m_valueLabel->setText(QString::number(this->value()));
}
void XSlider::mousePressEvent(QMouseEvent *ev)
{
m_valueLabel->setText(QString::number(this->value()));
QSlider::mousePressEvent(ev);
}
void XSlider::focusOutEvent(QFocusEvent *ev)
{
this->setVisible(false);
QSlider::focusOutEvent(ev);
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/tgtsml-QtPlayer.git
git@api.gitlife.ru:oschina-mirror/tgtsml-QtPlayer.git
oschina-mirror
tgtsml-QtPlayer
tgtsml-QtPlayer
master