最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Qt實(shí)現(xiàn)鬧鐘小程序

 更新時(shí)間:2019年07月29日 11:47:58   作者:飄云之下  
這篇文章主要為大家詳細(xì)介紹了Qt實(shí)現(xiàn)鬧鐘小程序,利用Qt的designer設(shè)計(jì)需要的鬧鐘界面,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Qt之鬧鐘小程序的具體代碼,供大家參考,具體內(nèi)容如下

-首先

首先我們利用Qt的designer 設(shè)計(jì)好我們需要的鬧鐘界面,設(shè)計(jì)界面如下圖:

其次我們來(lái)分別利用信號(hào)分別完成他們各自的槽函數(shù)
在mainwindow.h中,我們定義了下面這些私有成員變量,如下:
/ mainwindow.h文件/**

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QTimeEdit>
#include <QTimer>
#include <QLabel>
#include <QMediaPlayer>
#include <QLineEdit>

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 這個(gè)類用于播放mp3 媒體文件,用之前得在 .pro 文件中添加如下代碼:

QT  += multimedia

這樣才能引入這個(gè)庫(kù),接下來(lái),我們開始在.cpp中完成各個(gè)槽函數(shù)。這里我們 得不斷檢測(cè)鬧鐘定時(shí)時(shí)間是否到達(dá)預(yù)設(shè)時(shí)間,我們必須得間隔500ms檢測(cè)一次,因此我們引入了定時(shí)器,QTimer,開啟之后,進(jìn)入循環(huán)檢測(cè)鬧鐘是否到點(diǎn)。
這里,我們選用復(fù)選框來(lái)設(shè)置鈴聲,當(dāng)然也可以改為下拉菜單的方式。
/ mainwindow.cpp文件/**

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDateTime>
#include <QTime>

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); //進(jìn)去后,失能開始 按鈕

}

MainWindow::~MainWindow()
{
 delete ui;
}


void MainWindow::on_pushButton_clicked()
{

 myTimer->start(500);   //star 按下,啟動(dòng)定時(shí)器

 Temp = ui->timeEdit->time(); //獲取時(shí)鐘編輯器的值 ,為后續(xù) 系統(tǒng)時(shí)間的比較做準(zhǔn)備

}

void MainWindow::TimerResponse() //不斷檢查是否 定時(shí)時(shí)間到
{
 if (Temp.hour() == QTime::currentTime().hour() &&
     Temp.minute() == QTime::currentTime().minute() )
  //開始響鈴
 {
  ui->label_2->setVisible(true);
  player->play();
  myTimer->setSingleShot(true); //每次到點(diǎn)只能響鈴一次
 }

}

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); // 重置后,有意可以為下次準(zhǔn)備響鈴
 ui->label_2->setVisible(false);
 player->stop();
}

至此,小小的鬧鐘界面就完成了,很簡(jiǎn)單。但是對(duì)于了解Qt信號(hào)槽機(jī)制,很有幫助。同時(shí)使用了一個(gè)新類 QMediaPlayer 類。
最后效果如下所示:

這里,只加入了三首歌,我們可以新增復(fù)選框嗎,然后在之后的復(fù)選框的槽函數(shù)中加入和上述復(fù)選框的槽函數(shù)類似的代碼,增加新的音樂(lè)。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語(yǔ)言編寫多功能日歷

    C語(yǔ)言編寫多功能日歷

    之前看到本站給大家分享了一則C語(yǔ)言實(shí)現(xiàn)的簡(jiǎn)單日歷,就手癢了,也想自己寫一個(gè),既然有簡(jiǎn)單了,那咱寫個(gè)稍微復(fù)雜點(diǎn)的,多功能的吧。呵呵,玩笑玩笑
    2015-03-03
  • C++的輸入和輸出流詳解

    C++的輸入和輸出流詳解

    這篇文章主要為大家詳細(xì)介紹了C++的輸入和輸出流,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • C++使用鏈表實(shí)現(xiàn)圖書管理系統(tǒng)

    C++使用鏈表實(shí)現(xiàn)圖書管理系統(tǒng)

    這篇文章主要介紹了C++使用鏈表實(shí)現(xiàn)圖書管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C語(yǔ)言將數(shù)組中元素的數(shù)排序輸出的相關(guān)問(wèn)題解決

    C語(yǔ)言將數(shù)組中元素的數(shù)排序輸出的相關(guān)問(wèn)題解決

    這篇文章主要介紹了C語(yǔ)言將數(shù)組中元素的數(shù)排序輸出的相關(guān)問(wèn)題解決,文中的題目是將元素連接起來(lái)排成一個(gè)數(shù)并要求出這類結(jié)果中數(shù)最小的一個(gè),需要的朋友可以參考下
    2016-03-03
  • C語(yǔ)言指針筆試題全面解析

    C語(yǔ)言指針筆試題全面解析

    這篇文章主要介紹了C語(yǔ)言指針筆試題全面解析,介紹了其相關(guān)概念,然后分享了幾種用法,具有一定參考價(jià)值。需要的朋友可以了解下。
    2021-09-09
  • C語(yǔ)言各種操作符透徹理解下篇

    C語(yǔ)言各種操作符透徹理解下篇

    C?語(yǔ)言提供了豐富的操作符,除了上篇中的算術(shù)操作符,移位操作符,位操作符,賦值操作符外,還有單目操作符、關(guān)系操作符、邏輯操作符、條件操作符等等,讓我們通讀本篇來(lái)詳細(xì)了解吧
    2022-02-02
  • 淺談C++ 設(shè)計(jì)模式的基本原則

    淺談C++ 設(shè)計(jì)模式的基本原則

    這篇文章主要介紹了++ 設(shè)計(jì)模式的基本原則,主要的目標(biāo)是實(shí)現(xiàn)最終目的,高內(nèi)聚,低耦合,開放封閉原則類的改動(dòng)是通過(guò)增加代碼進(jìn)行的,感興趣的小伙伴可參考下面文章的具體內(nèi)容
    2021-09-09
  • C++鏈表實(shí)現(xiàn)通訊錄管理系統(tǒng)

    C++鏈表實(shí)現(xiàn)通訊錄管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++鏈表實(shí)現(xiàn)通訊錄管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • C++實(shí)現(xiàn)softmax函數(shù)的面試經(jīng)驗(yàn)

    C++實(shí)現(xiàn)softmax函數(shù)的面試經(jīng)驗(yàn)

    這篇文章主要為大家介紹了C++實(shí)現(xiàn)softmax函數(shù)的面試經(jīng)驗(yàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • C語(yǔ)言編程中函數(shù)的基本學(xué)習(xí)教程

    C語(yǔ)言編程中函數(shù)的基本學(xué)習(xí)教程

    這篇文章主要介紹了C語(yǔ)言編程中函數(shù)的基本學(xué)習(xí)教程,其中著重講到了傳值調(diào)用與參數(shù),需要的朋友可以參考下
    2015-12-12

最新評(píng)論

江川县| 鸡东县| 平阴县| 昭觉县| 肃北| 乐至县| 福鼎市| 奈曼旗| 陆良县| 波密县| 华安县| 睢宁县| 屯留县| 阿拉善盟| 论坛| 宁夏| 洪洞县| 即墨市| 南投县| 江油市| 湘阴县| 广东省| 左云县| 苍山县| 永胜县| 山东| 雅安市| 交城县| 南开区| 宣恩县| 镶黄旗| 合水县| 寻乌县| 兴安县| 兴义市| 旅游| 临城县| 巴马| 上杭县| 绥宁县| 霍城县|