本文整理汇总了C++中QSlider::property方法的典型用法代码示例。如果您正苦于以下问题:C++ QSlider::property方法的具体用法?C++ QSlider::property怎么用?C++ QSlider::property使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QSlider
的用法示例。
在下文中一共展示了QSlider::property方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetDouble
double ParamWidget::GetDouble(const QString& name) {
QWidget* widget = GetWidget(name);
QDoubleSpinBox* spinbox = dynamic_cast<QDoubleSpinBox*>(widget);
if (spinbox) {
return spinbox->value();
}
QSlider* slider = dynamic_cast<QSlider*>(widget);
if (slider) {
const double min = slider->property("min").toDouble();
const double step = slider->property("step").toDouble();
return min + step * slider->value();
}
throw std::runtime_error("Unable to determine widget type for param " +
name.toStdString());
}
示例2: SetDouble
void ParamWidget::SetDouble(const QString& name, double val) {
QWidget* widget = GetWidget(name);
QDoubleSpinBox* spinbox = dynamic_cast<QDoubleSpinBox*>(widget);
if (spinbox) {
spinbox->setValue(val);
return;
}
QSlider* slider = dynamic_cast<QSlider*>(widget);
if (slider) {
const double min = slider->property("min").toDouble();
const double step = slider->property("step").toDouble();
const int position = static_cast<int>(round((val - min) / step));
slider->setValue(position);
return;
}
throw std::runtime_error("Unable to determine widget type for param " +
name.toStdString());
}
示例3: target_changed
void EQWidget::target_changed(int)
{
QSlider *th = (QSlider *)sender();
DBG(th->value());
int h=th->property("index").toInt();
if(h>0)
plugin->setBand(h-1,pow(10,(GAIN_HALF-th->value())/-20.0) );
else
plugin->setPreamp(pow(10,(GAIN_HALF-th->value())/-20.0));
}
示例4: SetPrecision
void ParamWidget::SetPrecision(const QString& name, int digits, int decimal_places)
{
QWidget* widget = GetWidget(name);
QSlider* slider = dynamic_cast<QSlider*>(widget);
if (slider) {
QLabel* label = slider->property("param_widget_label").value<QLabel*>();
if (label) {
const QFont& font = label->font();
QFontMetrics font_metrics(font);
QString sample_text;
for (int i = 0; i < digits; ++i) {
sample_text.append('9');
}
if (decimal_places) {
sample_text.append('.');
}
const int width = font_metrics.width(sample_text);
QString format_str;
format_str.sprintf("%%%d.%df", digits, decimal_places);
label->setProperty("format_str", format_str);
label->setFixedWidth(width);
}
}
}