QStyleOptionSlider Class

Header:#include < QStyleOptionSlider >
qmake:QT += widgets
Inherits:QStyleOptionComplex

Public Types

enum StyleOptionType { Type }
enum StyleOptionVersion { Version }

Public Functions

QStyleOptionSlider(const QStyleOptionSlider &other)
QStyleOptionSlider()

Public Variables

bool 					dialWrapping
int 					maximum
int 					minimum
qreal 					notchTarget
Qt::Orientation 		orientation
int 					pageStep
int 					singleStep
int 					sliderPosition
int 					sliderValue	
int 					tickInterval
QSlider::TickPosition	tickPosition
bool 					upsideDown

Detailed Description

QStyleOptionSlider包含QStyle函数绘制QSlider和QScrollBar所需的所有信息。
出于性能考虑,对成员变量的访问是直接的(即,使用。或->运算符)。这种低级的感觉使结构易于使用,并强调这些结构只是样式函数使用的参数。
有关演示如何使用样式选项的示例,请参见Styles示例。

See also QStyleOptionComplex, QSlider, and QScrollBar.

Member Type Documentation

enum QStyleOptionSlider::StyleOptionType
	这个枚举用于保存关于样式选项类型的信息,并且为每个QStyleOption子类定义。

Constant					Value			Description
QStyleOptionSlider::Type	SO_Slider		所提供的样式选项的类型(该类的SO_Slider)。

	该类型由QStyleOption及其子类和qstyleoption_cast()在内部使用,以确定样式选项的类型。通常你不需要担心这个,除非你想创建你自己的QStyleOption子类和你自己的样式。

See also StyleOptionVersion.
enum QStyleOptionSlider::StyleOptionVersion
	该枚举用于保存样式选项的版本信息,并为每个QStyleOption子类定义。

Constant						Value		Description
QStyleOptionSlider::Version		1			1

	QStyleOption子类使用该版本来实现扩展而不会破坏兼容性。如果使用qstyleoption_cast(),通常不需要检查它。
See also StyleOptionType.

Member Function Documentation

QStyleOptionSlider::QStyleOptionSlider(const QStyleOptionSlider &other)
	Constructs a copy of the other style option.
QStyleOptionSlider::QStyleOptionSlider()
	Constructs a QStyleOptionSlider, initializing the members variables to their default values.

Member Variable Documentation

bool QStyleOptionSlider::dialWrapping
	这个变量保存了表盘是否应该封装
	默认值为false,即不包装表盘。
See also QDial::wrapping().
int QStyleOptionSlider::maximum
	该变量保存滑块的最大值
	缺省值为0
int QStyleOptionSlider::minimum
	该变量保存滑块的最小值
	缺省值为0
qreal QStyleOptionSlider::notchTarget
	这个变量保存着缺口之间的像素数
	默认值为0.0。
See also QDial::notchTarget().
Qt::Orientation QStyleOptionSlider::orientation
这个变量保持滑块的方向(水平或垂直)
默认方向是Qt::Qt::Horizontal.
See also Qt::Orientation.
int QStyleOptionSlider::pageStep
	该变量保存滑块的页面步长
	缺省值为0。
See also QAbstractSlider::pageStep.
int QStyleOptionSlider::singleStep
	该变量保存滑块的单个步长
	缺省值为0。
See also QAbstractSlider::singleStep.
int QStyleOptionSlider::sliderPosition
	这个变量保存滑块句柄的位置
	如果滑块具有活动反馈(即,QAbstractSlider::tracking为真),则该值将与sliderValue相同。否则,它将具有句柄的当前位置。缺省值为0。
See also QAbstractSlider::tracking and sliderValue.
int QStyleOptionSlider::sliderValue
	这个变量保存滑块的值
	如果滑块具有主动反馈(即,QAbstractSlider::tracking为真),则该值将与sliderPosition相同。否则,它将具有滑块在按下鼠标之前的值。
	缺省值为0。
See also QAbstractSlider::tracking and sliderPosition.
int QStyleOptionSlider::tickInterval
	这个变量保存了应该在标记之间绘制的间隔
	缺省值为0
QSlider::TickPosition QStyleOptionSlider::tickPosition
	这个变量保存滑块的刻度标记的位置(如果有的话)
	默认值为QSlider:: noks。
See also QSlider::TickPosition.
bool QStyleOptionSlider::upsideDown
	这个变量保存滑块控件的方向
	通常,滑块在向上或向右移动时增加;upsideDown表示它应该做相反的事情(当它向下或向左移动时增加)。默认值为false,即滑块在向上或向右移动时增加。
See also QStyle::sliderPositionFromValue(), QStyle::sliderValueFromPosition(), and QAbstractSlider::invertedAppearance. 
Qt中,如果你想要自定义水平滚动条(QScrollBar::Horizontal)和垂直滚动条(QScrollBar::Vertical)在它们相交的部分(通常称为“轨道”或“滑块”)的样式,你可以通过继承`QStyle`并在其中实现`drawComplexControl`槽函数来实现。 首先,你需要创建一个自定义的样式类并设置为应用的主题样式: ```cpp class CustomScrollStyle : public QProxyStyle { public: explicit CustomScrollStyle(QStyle *style = nullptr) : QProxyStyle(style) {} protected: virtual void drawComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget = nullptr) override { if (control == QStyle::CC_ScrollBar) { // 检查是否是水平和垂直滚动条相交的部分 const auto scrollOption = qstyleOption_cast<QStyleOptionSlider*>(option); if (scrollOption->orientation == Qt::Horizontal && scrollOption->subControls & QStyle::SC_ScrollHandle) { // 这里绘制你自定义的轨道样式 // 使用painter的各种功能(如setPen、setBrush等),以及scrollOption提供的信息(如minimum、maximum等) // ... } else if (scrollOption->orientation == Qt::Vertical && scrollOption->subControls & QStyle::SC_ScrollHandle) { // 同样地,处理垂直滚动条的样式 // ... } } QProxyStyle::drawComplexControl(control, option, painter, widget); } }; // 然后,在你的窗口或控件上设置这个自定义样式 QApplication::setStyle(new CustomScrollStyle()); ``` 在这个自定义样式中,你需要根据`QStyleOptionSlider`提供的`orientation`和`subControls`标志来判断滚动条的方向,并相应地绘制滑块或轨道区域。你可以利用`painter`对象来改变颜色、边框样式或其他图形效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值