91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5KB
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-27
  • 語言: 其他
  • 標簽: QT??C++??自繪控件??

資源簡介

QT自繪滑條控件Slider,可設置橫向和縱向,單滑塊或者雙滑塊 效果圖:https://blog.csdn.net/qq_22723497/article/details/88723666

資源截圖

代碼片段和文件信息

#include?“MySlider.h“

MySlider::MySlider(QWidget?*parent)
:?QWidget(parent)
?m_MinRange(0.00f)
?m_MaxRange(100.00f)
?m_singleStep(0.5f)
?m_curMinValue(0.00f)
?m_curMaxValue(100.00f)
?m_state(None)
?m_lastHandle(None)
?m_Sliderstyle(Single_HorizontalSlider)
?m_Handlestyle(Polygon)
//?m_Handlestyle(Rectangle)
//?m_Handlestyle(Circular)
?m_sliderColor(QColor(46?49?53))
?m_sliderSelectionColor(QColor(154?205?50))
?m_sliderHandleColor(QColor(154?205?50))?
?m_unSliderHandleColor(Qt::darkGray)?
?m_overlapOffset(0)
?m_textBrush(false)
{
setFocusPolicy(Qt::ClickFocus); //設置獲取焦點的方式
}

MySlider::~MySlider()
{

}

void?MySlider::paintEvent(QPaintEvent?*event)
{
QWidget::paintEvent(event);
QPainter?painter(this);
//---?繪制窗口邊框?---//
//painter.drawRect(0?0?width()?-?1?height()?-?1);?

//---?計算坐標?---//
if?(m_Sliderstyle?==?Single_HorizontalSlider?||?m_Sliderstyle?==?Double_HorizontalSlider) //是水平活動條
{
if?(m_Handlestyle?==?Polygon?||?m_Handlestyle?==?Rectangle)
{
m_minX?=?m_curMinValue?*?(width()?-?8)?/?m_MaxRange?+?4; //將當前最小值轉為x坐標
m_maxX?=?m_curMaxValue?*?(width()?-?8)?/?m_MaxRange?+?4; //將當前最大值轉為x坐標
}
else
{
m_minX?=?m_curMinValue?*?(width()?-?12)?/?m_MaxRange?+?6; //將當前最小值轉為x坐標
m_maxX?=?m_curMaxValue?*?(width()?-?12)?/?m_MaxRange?+?6; //將當前最大值轉為x坐標
}
}
else?if?(m_Sliderstyle?==?Single_VerticalSlider?||?m_Sliderstyle?==?Double_VerticalSlider) //是垂直滑動條
{
if?(m_Handlestyle?==?Polygon?||?m_Handlestyle?==?Rectangle)
{
m_minY?=?height()?-?m_curMinValue?*?(height()?-?8)?/?m_MaxRange?-?4; //將當前最小值轉為x坐標
m_maxY?=?height()?-?m_curMaxValue?*?(height()?-?8)?/?m_MaxRange?-?4; //將當前最大值轉為x坐標
}
else
{
m_minY?=?height()?-?m_curMinValue?*?(height()?-?12)?/?m_MaxRange?-?6; //將當前最小值轉為x坐標
m_maxY?=?height()?-?m_curMaxValue?*?(height()?-?12)?/?m_MaxRange?-?6; //將當前最大值轉為x坐標
}
}

//---?繪制槽?---//
paintSlider(&painter);

//---?繪制滑塊?---//
paintHandle(&painter);

//---?繪制當前值?---//
paintText(&painter);
}

void?MySlider::paintSlider(QPainter*?painter)
{
switch?(m_Sliderstyle)
{
case?Single_HorizontalSlider:
paintRectangle(QRect(4?23?width()?-?8?2)?m_sliderColor?painter); //繪制底槽
paintRectangle(QRect(4?23?m_minX?2)?m_sliderSelectionColor?painter); //繪制選中槽
break;
case?Double_HorizontalSlider:
paintRectangle(QRect(4?23?width()?-?8?2)?m_sliderColor?painter);
paintRectangle(QRect(m_minX?23?m_maxX?-?m_minX?2)?m_sliderSelectionColor?painter);
break;
case?Single_VerticalSlider:
paintRectangle(QRect(17?4?2?height()?-?8)?m_sliderColor?painter);
paintRectangle(QRect(17?m_minY?2?height()?-?m_minY?-?4)?m_sliderSelectionColor?painter);
break;
case?Double_VerticalSlider:
paintRectangle(QRect(17?4?2?height()?-?8)?m_sliderColor?painter);
paintRectangle(QRect(17?m_minY?2?m_maxY?-?m_minY)?m_sliderSelectionColor?painter);
break;
default

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????3892??2019-03-21?19:06??MySlider.h

?????文件??????17839??2019-03-21?19:12??MySlider.cpp

-----------?---------??----------?-----??----

????????????????21731????????????????????2


評論

共有 條評論