Qt動態時鐘

2021-10-06 15:23:32 字數 2474 閱讀 7053

使用qpainter和qtimer製作乙個簡易的動態時鐘。

dialog.h**:

protected

://宣告繪圖的事件處理函式

void

paintevent

(qpaintevent*event)

;

dialog.cpp**:

#include

"dialog.h"

#include

"ui_dialog.h"

#include

#include

#include

#include

#include

dialog::

dialog

(qwidget *parent)

:qdialog

(parent),ui

(new ui::dialog)

dialog::

~dialog()

void dialog::

paintevent

(qpaintevent*event)

else

transform.

rotate(6

);painter.

setworldtransform

(transform);}

//重置矩陣,實現時針的轉動

transform.

reset()

; transform.

translate

(width()

/2,height()

/2);

transform.

scale

(side/

480.0

,side/

480.0);

//時針旋轉

transform.

rotate(30

*(time.

hour()

+(time.

minute()

+time.

second()

/60)/

60)-90

);painter.

setworldtransform

(transform)

;//時針寬度為9公釐

pen.

setwidth(9

);painter.

setpen

(pen)

;//繪製時針

painter.

drawline(-

10,0,

120,0)

;//重置矩陣,實現分針的轉動

transform.

reset()

; transform.

translate

(width()

/2,height()

/2);

transform.

scale

(side/

480.0

,side/

480.0);

transform.

rotate(6

*(time.

minute()

+time.

second()

/60)-

90); painter.

setworldtransform

(transform)

; pen.

setwidth(7

);painter.

setpen

(pen)

; painter.

drawline(-

15,0,

160,0)

;//重置矩陣,實現秒針的轉動

transform.

reset()

; transform.

translate

(width()

/2,height()

/2);

transform.

scale

(side/

480.0

,side/

480.0);

transform.

rotate(6

*time.

second()

-90);

painter.

setworldtransform

(transform)

; pen.

setwidth(5

);painter.

setpen

(pen)

; painter.

drawline(-

20,0,

200,0)

;}

新增背景圖後,效果圖如下:

Qt 模擬時鐘

qt中有乙個模擬時鐘的例題,其主要實現的功能只有時針和分針,以及時鐘的那些刻度線。博主在其基礎上多增加了秒針,以及數字的顯示。同時,對其中小部分進行修改。本例題主要是了解和練習使用qtimer類。本例題屬於還是比較簡單的,量也是很少。具體的 和解釋可以檢視git 基本知識點都有注釋 中的analog...

畫動態時鐘

import cv2 import math import datetime import numpy as np margin 5 上下左右邊距 radius 220 圓的半徑 center center x,center y 225,225 圓心 1.新建乙個畫板並填充成白色 img np.ze...

QT實現 電子時鐘

2.時鐘視窗 3.執行效果圖 簡介 1.主視窗 menu.件 ifndef menu h define menu h include include include class menu public qwidget endif menu h menu.cpp檔案 include menu.h in...