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

app与网站的区别谷歌浏览器官网下载

app与网站的区别,谷歌浏览器官网下载,创意做网站公司,长春大型互联网公司因为工作需要,需要实现温度的表盘展示效果 实现思路: 通过提示声QLabel控价类,实现报盘的旋转和展示效果 1. 编写一个QLabel的类MyQLabel,实现两个方法 1. void paintEvent(QPaintEvent *event); //重绘函数 2. void valueChanged(int va…

因为工作需要,需要实现温度的表盘展示效果

实现思路:

   通过提示声QLabel控价类,实现报盘的旋转和展示效果

1. 编写一个QLabel的类MyQLabel,实现两个方法

   1.  void paintEvent(QPaintEvent *event); //重绘函数

   2.  void valueChanged(int value); //更改值

2.提升QLabel控件,实现两个方法函数的重置入

3. 通过按钮和滑动条,改变数值,实现指针的转动调整指针的指向

实现表盘转动的功能。

myqlabel.h

#ifndef MYQLABEL_H

#define MYQLABEL_H

#include <QObject>

#include <QLabel>

#include <QPainter>

class MyQLabel : public QLabel

{

Q_OBJECT

public:

QPixmap needle; //指针

QPixmap overlay; //中间显示盘

QPixmap img; //显示转盘

int nvalue;

explicit MyQLabel(QWidget *parent=0);

void paintEvent(QPaintEvent *event); //重绘函数

void valueChanged(int value); //更改值

//void DrawRangle(int x ,int y ,int h,int w); //绘制矩形

};

#endif // MYQLABEL_H

2. myqlabel.c文件内容
#include "myqlabel.h"
#include <QDebug>
MyQLabel::MyQLabel(QWidget *parent): QLabel(parent)
{needle = QPixmap(":/image/ned.png");overlay= QPixmap(":/image/lay.png");img = QPixmap(":/image/img.png");nvalue=-128;
}
void MyQLabel::valueChanged(int value)
{nvalue = value;this->update();
}
void MyQLabel::paintEvent(QPaintEvent *event)
{QPainter painter(this);painter.save();//保存painter.setRenderHint(QPainter::SmoothPixmapTransform, true); //平滑像素图,防止图形走样painter.translate(this->width() / 2,this->height() / 2); // 原点定位在中间位置qDebug()<<"1.width:"<<this->width()/2 <<"height:"<<this->height()/2 <<endl;painter.drawPixmap(-img.width()/2, -img.height() / 2, img);   // 背景图qDebug()<<"2.width:"<<img.width() <<"height:"<<img.height() <<endl;// 指针图painter.restore();//恢复painter.translate(this->width() / 2,this->height()/8*5); // 原点定位在中间位置qDebug()<<"3.定位点.width:"<<this->width() / 2 <<"height:"<<this->height() /8*5<<endl;painter.rotate(nvalue);//设置旋转角度painter.drawPixmap(-needle.width() / 2, -needle.height() + needle.width() / 2, needle);         //原点图painter.drawPixmap(-overlay.width() / 2, -overlay.height()/2 , overlay);painter.restore();//恢复
}

3. widget.h 文件

#include <QWidget>

#include <QPaintDevice>

#include <QPainter>

#include <QPaintEvent>

#include <QPixmap>

#include <QInputDialog>

namespace Ui {

class Widget;

}

class Widget : public QWidget

{

Q_OBJECT

public:

explicit Widget(QWidget *parent = 0);

~Widget();

private slots:

void on_pushButton_clicked();

void on_slider_valueChanged(int value);

private:

 Ui::Widget *ui;

};

#endif // WIDGET_H

4. widget.cpp

#include "ui_widget.h"

#include <QDebug>

#include <QLabel>

Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget)

{

      ui->setupUi(this);

     resize(600,600); //设置窗体大小

}

//析构函数

Widget::~Widget()

{

delete ui;

}

void Widget::on_pushButton_clicked()

{

int evalue=QInputDialog::getInt(this,tr("输入温度数值"),tr("请输入一个对应的温度值"),0,-128,128,1);

ui->label->valueChanged(evalue);

}

//值变化时

void Widget::on_slider_valueChanged(int value)

{

qDebug()<<"value="<<value<<endl;

ui->label->valueChanged(value);

}

5. main.cpp

#include "widget.h"

#include <QApplication>

int main(int argc, char *argv[])

{

QApplication a(argc, argv);

Widget w;

w.show();

return a.exec();

}

6. widget.ui

这个界面中放置一个QLabel控价,到时提升下控件即可

最终实现效果如下

http://www.hengruixuexiao.com/news/42698.html

相关文章:

  • 张家口北京网站建设河南靠谱seo地址
  • 购物网站建设信息网站seo优化运营
  • 网站风格主要包括哪些打广告在哪里打最有效
  • 精美企业网站2022年最火的电商平台
  • 合肥做网站的全网自媒体平台大全
  • 博物馆网站开发合肥网站推广优化
  • A级网站视频 一级做爰片百度指数下载
  • 响应式网站建设原则注册一个网站
  • 百度喜欢什么样的网站seo专业技术培训
  • 奇迹网站自己做深圳全网推广方案
  • 银川网站制作新的网络推广方式
  • 网站代运营做哪些sem专员
  • 官方网站查询 优帮云数字营销服务商seo
  • cloud域名注册网站百度热榜排行
  • 如何做一款服装网站免费创建个人网页
  • 免费ppt模板下载大全网站点击宝seo
  • 为赌博网站做推广seo点击排名
  • B2B网站建设商务排名上海今日头条新闻
  • 西安高端品牌网站建设郑州众志seo
  • 怎么做网站呢国外市场网站推广公司
  • 成都新东方烹饪学校网站建设主管泰安网络推广培训
  • 如何做闲置物品自己的网站2021年年度关键词
  • 个人建站怎么做网站好app推广怎么做
  • 查楼盘剩余房源的网站培训师资格证怎么考
  • .net 网站自动登录北京做网站推广
  • flash网站建设太原seo推广
  • 网站的注册页面怎么做网页设计一般用什么软件
  • 网站做招聘需要什么资质花都网站建设公司
  • 如何做教育类网站游戏代理
  • 济铁工程建设集团公司官方网站网站制作企业有哪些