当前位置: 首页 > news >正文

万网建站流程网站怎么做

万网建站流程,网站怎么做,沈阳网站建设工作,海口网站如何制作1.简介 QwtKnob是Qwt库中的一个类,用于绘制一个旋钮样式的仪表盘。它继承QwtAbstractSlider类,提供了一些额外的功能和样式,用于旋转和选择值。 以下是类继承关系: 2.常用方法 旋钮(Knob)相关的属性和方法…

1.简介

QwtKnob是Qwt库中的一个类,用于绘制一个旋钮样式的仪表盘。它继承QwtAbstractSlider类,提供了一些额外的功能和样式,用于旋转和选择值。

以下是类继承关系:

2.常用方法

旋钮(Knob)相关的属性和方法:

  • void setKnobStyle(KnobStyle style) 设置旋钮的样式,如圆形、凹形、凸形等。
  • KnobStyle knobStyle() const 返回旋钮的样式。
  • void setKnobWidth(int width) 设置旋钮的宽度。
  • int knobWidth() const 返回旋钮的宽度。

void setScale (const QwtScaleDiv & scaleDiv) 设置范围

void setValue (double value) 设置当前值

void setBorderWidth (int borderWidth) 设置边框宽

标记相关的属性和方法:

void setMarkerStyle (MarkerStyle markerStyle) 设置标记样式

void setMarkerSize (int size) 设置标记大小

3.示例

#pragma once#include "qwt_global.h"
#include <QWidget>class QwtKnob;
class QLabel;class Knob : public QWidget
{Q_OBJECTQ_PROPERTY( QColor theme READ theme WRITE setTheme )public:Knob( const QString& title,double min, double max, QWidget* parent = NULL );virtual QSize sizeHint() const QWT_OVERRIDE;//设置当前值void setValue( double value );double value() const;//设置颜色void setTheme( const QColor& );QColor theme() const;Q_SIGNALS:double valueChanged( double );protected:virtual void resizeEvent( QResizeEvent* ) QWT_OVERRIDE;private:QwtKnob* m_knob = nullptr;QLabel* m_label = nullptr;
};#include "Knob.h"
#include "qwt_math.h"
#include "qwt_knob.h"
#include "qwt_round_scale_draw.h"
#include "qwt_scale_engine.h"#include <QLabel>
#include <QResizeEvent>
#include <qmath.h>Knob::Knob( const QString& title, double min, double max, QWidget* parent ): QWidget( parent )
{QFont font( "Helvetica", 10 );m_knob = new QwtKnob( this );//设置字体m_knob->setFont( font );QwtScaleDiv scaleDiv =m_knob->scaleEngine()->divideScale( min, max, 5, 3 );QList< double > ticks = scaleDiv.ticks( QwtScaleDiv::MajorTick );if ( ticks.size() > 0 && ticks[0] > min ){if ( ticks.first() > min )ticks.prepend( min );if ( ticks.last() < max )ticks.append( max );}//设置刻度scaleDiv.setTicks( QwtScaleDiv::MajorTick, ticks );//设置范围m_knob->setScale( scaleDiv );//设置旋钮宽度m_knob->setKnobWidth( 50 );//设置旋钮样式m_knob->setKnobStyle(QwtKnob::Raised);//m_knob->setKnobWidth(1);//设置标记风格m_knob->setMarkerStyle(QwtKnob::Nub);//设置标记大小m_knob->setMarkerSize(8);//设置边框宽度m_knob->setBorderWidth(2);font.setBold( true );m_label = new QLabel( title, this );m_label->setFont( font );m_label->setAlignment( Qt::AlignTop | Qt::AlignHCenter );setSizePolicy( QSizePolicy::MinimumExpanding,QSizePolicy::MinimumExpanding );connect( m_knob, SIGNAL(valueChanged(double)),this, SIGNAL(valueChanged(double)) );
}QSize Knob::sizeHint() const
{QSize sz1 = m_knob->sizeHint();QSize sz2 = m_label->sizeHint();const int w = qMax( sz1.width(), sz2.width() );const int h = sz1.height() + sz2.height();int off = qCeil( m_knob->scaleDraw()->extent( m_knob->font() ) );off -= 15; // spacingreturn QSize( w, h - off );
}void Knob::setValue( double value )
{m_knob->setValue( value );
}double Knob::value() const
{return m_knob->value();
}void Knob::setTheme( const QColor& color )
{m_knob->setPalette( color );
}QColor Knob::theme() const
{return m_knob->palette().color( QPalette::Window );
}void Knob::resizeEvent( QResizeEvent* event )
{const QSize sz = event->size();const QSize hint = m_label->sizeHint();m_label->setGeometry( 0, sz.height() - hint.height(),sz.width(), hint.height() );const int knobHeight = m_knob->sizeHint().height();int off = qCeil( m_knob->scaleDraw()->extent( m_knob->font() ) );off -= 15; // spacingm_knob->setGeometry( 0, m_label->pos().y() - knobHeight + off,sz.width(), knobHeight );
}

使用:

#include "KnobWidget.h"
#include "ui_KnobWidget.h"
#include "Knob.h"static QPalette colorTheme( const QColor& base )
{QPalette palette;palette.setColor( QPalette::Base, base );palette.setColor( QPalette::Window, base.darker( 150 ) );palette.setColor( QPalette::Mid, base.darker( 110 ) );palette.setColor( QPalette::Light, base.lighter( 170 ) );palette.setColor( QPalette::Dark, base.darker( 170 ) );palette.setColor( QPalette::Text, base.darker( 200 ).lighter( 800 ) );palette.setColor( QPalette::WindowText, base.darker( 200 ) );return palette;
}KnobWidget::KnobWidget(QWidget *parent) :QWidget(parent),ui(new Ui::KnobWidget)
{ui->setupUi(this);setPalette( colorTheme( QColor( Qt::darkGray ).darker( 70 ) ) );Knob *knob1 = new Knob( "Amplitude", 0.0, 200.0 );knob1->setValue( 160.0 );knob1->setTheme(QColor("#606060"));Knob *knob2 = new Knob( "Frequency [Hz]", 0.0, 20.0 );knob2->setValue( 17.8 );knob2->setTheme(QColor("#606060"));ui->horizontalLayout->addWidget(knob1);ui->horizontalLayout->addWidget(knob2);
}KnobWidget::~KnobWidget()
{delete ui;
}

http://www.hkea.cn/news/963938/

相关文章:

  • 宜昌seo百度seo优化
  • 做网站公司q房网seo快速排名站外流量推广
  • 南宁网站排名优化广州发布紧急通知
  • 网站建设的策划方案seo排名
  • 网站模板绑定域名培训班
  • coupang入驻条件2022台州关键词优化报价
  • 网站建设前景怎么样google优化师
  • 上海免费网站建设淘宝引流推广怎么做
  • 单位网站建设目的西安网站建设公司排行榜
  • 福州制作网站软件无人在线观看高清视频单曲直播
  • 建设银行卡网站百度账号登录个人中心
  • 网站显示500错误怎么解决方法seo网站推广排名
  • 广告免费设计在线生成网站排名优化
  • 余姚公司网站建设怎么建网址
  • 网站域名授权怎么做市场营销案例100例
  • kindeditor代码高亮 wordpressseo优化排名经验
  • 家乡介绍网页设计上海网站排名优化
  • 广州黄埔网站制作百度sem是什么意思
  • 网站流量分析网站网络推广营销网
  • 化妆品网站建设计划书网站维护是什么意思
  • 建设局网站公告宣传推广的形式有哪些
  • 网站基本架构设计的主要步骤什么软件可以排名次
  • 代做毕业设计网站多少钱网站推广交换链接
  • 苹果指争议广告lg广告北京seo公司网站
  • flash网站制作公司能打开各种网站的浏览器下载
  • 网站开发是叫系统吗站长工具seo排名查询
  • 站长之家html模板西安网站seo技术厂家
  • 重庆网站建设 渝seo交流论坛
  • 洛阳市网站建设宁波seo网络推广软件系统
  • 做网站用建站模版好还是定制好百度站点