本篇文章給大家分享的是有關使用Qt怎么實現(xiàn)一個鬧鐘小程序,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
創(chuàng)新互聯(lián)服務項目包括金平網(wǎng)站建設、金平網(wǎng)站制作、金平網(wǎng)頁制作以及金平網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網(wǎng)行業(yè)的解決方案,金平網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到金平省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
/ mainwindow.h文件/**
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include#include #include #include #include #include namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); private slots: void TimerResponse(); void on_pushButton_clicked(); void on_pushButton_2_clicked(); void on_radioButton_clicked(); void on_radioButton_2_clicked(); void on_radioButton_3_clicked(); void on_pushButton_3_clicked(); private: Ui::MainWindow *ui; QTimeEdit *timeEdit; QLabel *label_2; QTime Temp; QLineEdit *lineEdit; QMediaPlayer *player = new QMediaPlayer; QTimer *myTimer = new QTimer(this); }; #endif // MAINWINDOW_H
這些私有變量就是上述界面的元素指針,其種 QMediaPlayer 這個類用于播放mp3 媒體文件,用之前得在 .pro 文件中添加如下代碼:
QT += multimedia
這樣才能引入這個庫,接下來,我們開始在.cpp中完成各個槽函數(shù)。這里我們 得不斷檢測鬧鐘定時時間是否到達預設時間,我們必須得間隔500ms檢測一次,因此我們引入了定時器,QTimer,開啟之后,進入循環(huán)檢測鬧鐘是否到點。
這里,我們選用復選框來設置鈴聲,當然也可以改為下拉菜單的方式。
/ mainwindow.cpp文件/**
#include "mainwindow.h" #include "ui_mainwindow.h" #include#include int tt = 0; MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); ui->label_2->setVisible(false); QObject::connect(myTimer, SIGNAL(timeout()), this, SLOT(TimerResponse()) ); ui->pushButton->setDisabled(true); //進去后,失能開始 按鈕 } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_pushButton_clicked() { myTimer->start(500); //star 按下,啟動定時器 Temp = ui->timeEdit->time(); //獲取時鐘編輯器的值 ,為后續(xù) 系統(tǒng)時間的比較做準備 } void MainWindow::TimerResponse() //不斷檢查是否 定時時間到 { if (Temp.hour() == QTime::currentTime().hour() && Temp.minute() == QTime::currentTime().minute() ) //開始響鈴 { ui->label_2->setVisible(true); player->play(); myTimer->setSingleShot(true); //每次到點只能響鈴一次 } } void MainWindow::on_pushButton_2_clicked() { tt++; if(tt == 10) tt = 0; else if(tt%2 == 1) player->play(); else player->stop(); } void MainWindow::on_radioButton_clicked() //選中鈴聲1 { ui->pushButton->setEnabled(true); player->setVolume(30); player->setMedia(QUrl::fromLocalFile("C:/Users/Zhangkai/Desktop/Qt_Example/demo7/邱永傳 - 傷心你的墮落.mp3")); ui->lineEdit->setText("邱永傳 - 傷心你的墮落.mp3"); } void MainWindow::on_radioButton_2_clicked() //選擇鈴聲2 { ui->pushButton->setEnabled(true); player->setVolume(30); player->setMedia(QUrl::fromLocalFile("C:/Users/Zhangkai/Desktop/Qt_Example/demo7/邱永傳 - 十一年.mp3")); ui->lineEdit->setText("邱永傳 - 十一年.mp3"); } void MainWindow::on_radioButton_3_clicked() //選擇鈴聲3 { ui->pushButton->setEnabled(true); player->setVolume(30); player->setMedia(QUrl::fromLocalFile("C:/Users/Zhangkai/Desktop/Qt_Example/demo7/邱永傳 - 十二年.mp3")); ui->lineEdit->setText("邱永傳 - 十二年.mp3"); } void MainWindow::on_pushButton_3_clicked() { myTimer->setSingleShot(false); // 重置后,有意可以為下次準備響鈴 ui->label_2->setVisible(false); player->stop(); }
以上就是使用Qt怎么實現(xiàn)一個鬧鐘小程序,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。