基于Qt5的闹钟实现代码Word文件下载.doc
- 文档编号:1462869
- 上传时间:2023-04-30
- 格式:DOC
- 页数:7
- 大小:135.50KB
基于Qt5的闹钟实现代码Word文件下载.doc
《基于Qt5的闹钟实现代码Word文件下载.doc》由会员分享,可在线阅读,更多相关《基于Qt5的闹钟实现代码Word文件下载.doc(7页珍藏版)》请在冰点文库上搜索。
QSystemTrayIcon>
namespaceUi{
classWidget;
}
classWidget:
publicQWidget
{
Q_OBJECT
public:
explicitWidget(QWidget*parent=0);
~Widget();
signals:
voidisCurrentTime();
private:
Ui:
:
Widget*ui;
voidinit();
voidlayout();
voidcon();
QLCDNumber*lcdNumber;
QLabel*label;
QTimeEdit*timeEdit;
QPushButton*button;
QTimer*timer;
QTimer*uptimer;
QTimer*dtimer;
QTimer*itimer;
QRectrect;
intx;
inty;
doubledu;
QSystemTrayIcon*trayIcon;
QAction*restoreAct;
QAction*quitAct;
QMenu*trayIconMenu;
privateslots:
voidclockChange();
voiddialogUp();
voidmini();
voiddown();
voidcomToCur();
protected:
voidcloseEvent(QCloseEvent*e);
};
#endif//WIDGET_H
源文件widget.cpp代码如下:
#include"
widget.h"
ui_widget.h"
QtDebug>
QDesktopWidget>
Widget:
Widget(QWidget*parent):
QWidget(parent),
ui(newUi:
Widget)
ui->
setupUi(this);
init();
layout();
con();
voidWidget:
init()
setWindowTitle("
我的闹钟"
);
setFixedSize(300,80);
timer=newQTimer;
uptimer=newQTimer;
dtimer=newQTimer;
itimer=newQTimer;
lcdNumber=newQLCDNumber;
lcdNumber->
setFixedSize(150,50);
setDigitCount(12);
setSegmentStyle(QLCDNumber:
Flat);
display(QTime:
currentTime().toString("
hh:
mm:
ss:
zzz"
));
label=newQLabel("
闹钟"
timeEdit=newQTimeEdit;
timeEdit->
setDisplayFormat("
ss"
button=newQPushButton("
确定"
trayIcon=newQSystemTrayIcon;
trayIcon->
setIcon(QIcon("
/new/prefix1/clock.ico"
show();
setWindowIcon(QIcon("
restoreAct=newQAction("
显示"
this);
quitAct=newQAction("
退出"
trayIconMenu=newQMenu;
trayIconMenu->
addAction(restoreAct);
addAction(quitAct);
setContextMenu(trayIconMenu);
setWindowFlags(Qt:
WindowStaysOnTopHint);
layout()
QHBoxLayout*rightTopLay=newQHBoxLayout;
rightTopLay->
addWidget(label);
addWidget(timeEdit);
QHBoxLayout*rightButtonLay=newQHBoxLayout;
rightButtonLay->
addStretch();
addWidget(button);
QVBoxLayout*rightLay=newQVBoxLayout;
rightLay->
addLayout(rightTopLay);
addLayout(rightButtonLay);
QHBoxLayout*m=newQHBoxLayout;
m->
addWidget(lcdNumber);
addLayout(rightLay);
setLayout(m);
QDesktopWidget*p=newQDesktopWidget;
p=QApplication:
desktop();
//
rect=p->
rect();
x=rect.right()-width()-2;
y=rect.bottom()+30;
setGeometry(x,y,width(),height());
con()
connect(timer,SIGNAL(timeout()),this,SLOT(clockChange()));
timer->
start
(1);
connect(uptimer,SIGNAL(timeout()),this,SLOT(dialogUp()));
uptimer->
start(20);
connect(dtimer,SIGNAL(timeout()),this,SLOT(down()));
dtimer->
connect(button,SIGNAL(clicked(bool)),dtimer,SIGNAL(timeout()));
connect(button,SIGNAL(clicked(bool)),this,SLOT(mini()));
connect(itimer,SIGNAL(timeout()),this,SLOT(comToCur()));
itimer->
connect(restoreAct,SIGNAL(triggered(bool)),uptimer,SIGNAL(timeout()));
connect(this,SIGNAL(isCurrentTime()),uptimer,SIGNAL(timeout()));
connect(quitAct,SIGNAL(triggered(bool)),this,SLOT(close()));
clockChange()
dialogUp()
show();
if(y>
=rect.bottom()-height()-50)
{
y-=2;
}
else{
uptimer->
stop();
down()
if(y<
rect.bottom())
y+=height()+20;
else
dtimer->
mini()
hide();
closeEvent(QCloseEvent*e)
QMessageBox:
information(0,"
"
您确定要退出吗?
"
comToCur()
if(QVariant(QTime:
currentTime().toString())==QVariant(timeEdit->
time()).toString())
QApplication:
beep();
emitisCurrentTime();
~Widget()
deleteui;
程序运行截图:
添加铃声:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Qt5 闹钟 实现 代码