qt 实现钟表图标
- #include "clock.h"
 - CLOCK::CLOCK(QWidget *parent)
 - : QWidget(parent)
 - {
 - QTimer *timer = new QTimer(this);
 - timer->start(1000);//一秒钟
 - connect(timer,SIGNAL(timeout()),this,SLOT(update()));
 - QFont font;
 - font.setPointSize(10);//字体大小设置为10
 - setFont(font);
 - }
 - CLOCK::~CLOCK()
 - {
 - }
 - void CLOCK::paintEvent(QPaintEvent * /* event */)
 - {
 - QPainter painter(this);
 - painter.setRenderHint(QPainter::Antialiasing, true);
 - int side = qMin(width(), height());
 - painter.setViewport((width() - side) / 2, (height() - side) / 2,
 - side, side);
 - painter.setWindow(0, 0, 200, 200);/*设置(0,0)为新的坐标原点*/
 - draw(&painter);
 - }
 - void CLOCK::draw(QPainter *painter)
 - {
 - QPen thickPen(palette().foreground(), 1.5);//设置刻度线为粗黑
 - QPen thinPen(palette().foreground(), 0.5);//设置刻度线为灰
 - QTime time = QTime::currentTime();
 - painter->translate(100,100);//重新设定坐标原点
 - painter->setRenderHint(QPainter::Antialiasing);//消锯齿
 - painter->setBrush(Qt::red);
 - painter->setPen(Qt::red);
 - painter->save();//保存坐标系,防止坐标系跑偏了
 - painter->rotate(6.0*time.second());//注意是6.0,不是6
 - painter->drawConvexPolygon(sed,4);
 - painter->restore();//复位之前的坐标系
 - painter->setBrush(Qt::blue);
 - painter->setPen(Qt::blue);
 - painter->save();
 - painter->rotate(6.0*(time.minute()+time.second()/60.0));
 - painter->drawConvexPolygon(min,4);
 - painter->restore();
 - painter->setBrush(Qt::black);
 - painter->setPen(Qt::black);
 - painter->save();
 - painter->rotate(30.0*(time.hour()+time.minute()/60.0));
 - painter->drawConvexPolygon(hour,4);
 - painter->restore();
 - // //painter->drawLine(0,-98,0,-88);
 - // for(int i=0;i<12;i++)
 - // {
 - // painter->rotate(30);//坐标轴旋转30度
 - // painter->drawLine(0,-98,0,-88);
 - // }
 - /*画刻度还有数字*/
 - for (int i = 1; i <=60; ++i) {
 - painter->save();
 - painter->rotate(6*i);//坐标轴旋转6度
 - if (i % 5 == 0) {
 - painter->setPen(thickPen);
 - painter->drawLine(0, -98, 0, -82);
 - painter->drawText(-20, -82, 40, 40,
 - Qt::AlignHCenter | Qt::AlignTop,
 - QString::number(i/5));
 - } else {
 - painter->setPen(thinPen);
 - painter->drawLine(0, -98, 0, -88);
 - }
 - //painter->rotate(-DegreesPerMinute);
 - painter->restore();
 - }
 - }
 
qt 实现钟表图标的更多相关文章
- Qt应用程序图标设置
		
Qt应用程序图标设置 本文仅仅适用于windows下,linux等不适用. 下面说的图标,指的是程序文件的图标,而不是托盘图标或者说运行时任务栏的图标(任务栏和程序窗口的图标在windows/linu ...
 - QT添加程序图标及窗口图标
		
程序图标 材料准备 图标文件:*.ico文件,存放在源文件同一目录下,如"myapp.ico" 写入图标 向*.pro文件中,独立一行写入"RC_ICONS = *.ic ...
 - 如何将QT的pro图标修改的更显著一些
		
如何将QT的pro图标修改的更显著一些 QT的项目打开文件是pro,默认是这样的 这个白色的背景在很多文件中很不好找 所以使用工具进行相关修改. 寻找到.pro 双击修改ico 默认的这个就非常不错. ...
 - Qt应用程序图标
		
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt应用程序图标 本文地址:http://techieliang.com/2017/1 ...
 - 【Qt开发】设置Qt应用程序图标
		
[Qt开发]设置Qt应用程序图标 标签:[Qt开发] 首先,准备一个图标,例如:zx.ico,并新建一个文本文档,在里面添加一行: IDI_ICON1 ICON DISCARDABLE"zx ...
 - Qt 程序运行图标
		
Qt5 添加程序图标在pro直接添加一句: RC_ICONS+=resource\appicons\app.ico resource程序代码目录下文件夹. Qt4方式 1.在工程文件夹新建一个res目 ...
 - Qt之添加图标
		
导读: 在使用Qt Creator编写完应用程序后,设置release版的应用程序图标着实困扰了不少的人.一个漂亮的图标是一个软件的脸,没有一个漂亮的图标,那么这个程序是不完整的.那么我们来看看如何设 ...
 - QT学习之解决QT中QIcon图标不显示的问题
		
第一种:图标存放目录问题 :/文件夹名称/文件名 如:文件夹为:/img 文件名为:a.png 路径: :/img/a.png 这里注意前面的":". 第二种:编译生成 ...
 - 【转】设置Qt应用程序图标及应用程序名
		
一直以来很纠结给qt应用程序添加图标问题,在网上收过一次,但是感觉不够完整,现将自己的实现过程记录下,以便以后查看: 通过网上的例子知道qt助手中有相关说明: Setting the Applicat ...
 
随机推荐
- 引用类型和原始类型的对比(java)
			
Java 提供两种不同的类型:引用类型和原始类型(或内置类型).另外,Java 还为每个原始类型提供了封装类(Wrapper). 原始类型 封装类=================boolean Bo ...
 - Asp.Net WebApi 启用CORS跨域访问指定多个域名
			
1.后台action指定 EnableCors指定可访问的域名多个,使用逗号隔开 //支持客户端凭据提交,指定多个域名,使用逗号隔开 [EnableCors("http://localhos ...
 - div中英文无法自动换行的解决办法
			
在一个设定好宽度的div中,当我们输入的中文文字长度超过了设定宽度时,会自动换到下一行. 但是,如果输入的是英文字母,那么,无论你div设定宽度为多少,英文字母都是不换行直接在同一行输出,导致di ...
 - Ps 美白磨皮【1】
			
方法一:去色加图层模式法 打开需要编辑的图片,按Ctrl+J复制新的图层1. 点击菜单栏“图像”-“调整”-“去色”,如下图所示. 将图层面板的混合模式更改为“滤色”,如下图4所示. 最后的显示效 ...
 - 【转】Windows按键消息—虚拟键码
			
来源:http://c.biancheng.net/cpp/html/1253.html 虚拟键码保存在WM_KEYDOWN.WM_KEYUP.WM_SYSKEYDOWN和WM_SYSKEYUP消息的 ...
 - JavaScript--基本包装类型+Math对象
			
1. 基本包装类型 1)为了便于操作基本类型值,ECMAScript提供了3个特殊的引用类Boolean, Number, String 每当读取一个基本类型值的时候,后台就会创建一个对应 ...
 - STM8S和STM8L调试串口中断的注意点
			
1. STM8L串口中断注意点 在调试PM2.5传感器GP2Y1051的时候,发现在仿真的时候开始能够进行数据的接受,但是如果暂停之后就不能接受数据,其实只是接收了一次完整的数据. 问题程序 解决方法 ...
 - curl 转载
			
CURLOPT_RETURNTRANSFER 选项: curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 如果成功只将结果返回,不自动输出任何内容. 如果失败返回F ...
 - 3.2 GUN as汇编(本文内容大部分引用原文,非原创)
			
as86汇编仅仅用于编译内核中的boot/bootsect.s引导扇区程序和实模式下的设置程序boot/setup.s.内核中其余所有汇编语言程序(包括C语言产生的汇编程序)均使用gas来编译,并与C ...
 - 在ubuntu14.14 安装php扩展扩展出现的问题
			
我是在ubuntu14.14 安装的 lnmp. 部分扩展.均已安装好,但是我用apt-get 方式安装 redis和curl扩展时,我的配置都设置但是从phpinfo里面看没有响应的配置项. 于是我 ...