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

网站安全建设模板青岛网站设计

网站安全建设模板,青岛网站设计,鸿蒙开发语言,济邦建设有限公司官方网站因为工作需要,需要实现温度的表盘展示效果 实现思路: 通过提示声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.dtcms.com/wzjs/311019.html

相关文章:

  • 个网站做淘宝客推广可以吗seo排名优化公司价格
  • 域名做网站成都网络营销搜索推广
  • 外贸商城网站建设搜索引擎营销的特点是
  • 网站服务器暂时不可用怎么办外链工厂 外链
  • 小网站源码贵港seo
  • 襄城县做网站的网站软件推荐
  • 可以完成交易的网站 做汕头疫情最新消息
  • 哪个网站做视频有钱挣如何引流被动加好友微信
  • 被黑的网站网站安全检测
  • wordpress目录页去掉怎么seo网站关键词优化
  • 制作b2c网站多少钱百度上怎么发布信息啊
  • 江苏网站建设多少钱优化搜索引擎
  • 陕西网站建设哪家专业今日热点
  • php公司网站系统百度指数功能模块
  • 公司网站建设注意事项搜索引擎推广的三种方式
  • wordpress 管理员权限郑州优化公司有哪些
  • 百度推广入口登录百度seo服务
  • 个人做网站开发国内5大搜索引擎
  • 做网站有哪些项目百度收录批量查询工具
  • m3u8 wordpress插件google优化排名
  • 电商网站开发意义互联网产品推广
  • 国外做的好的电商网站推荐网络推广app
  • 网站浮窗制作网站服务器速度对seo有什么影响
  • 西安个人建网站魔方优化大师官网
  • 给素材网站做签约设计不想做了今日国内新闻热点
  • 湘潭天元建设集团有限公司郑州网站优化seo
  • 广宁县住房和城乡建设局网站链接推广
  • 5个常见的电子商务网站网络营销的用户创造价值
  • 网站开发助理做什么网络营销策划需要包括哪些内容
  • 个体户可以做企业网站巩义网络推广外包