注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

沙漠里de烟雨

原创分享,禁止转载

 
 
 

日志

 
 

Qt---给QLabel增加单击,鼠标滑过时的响应,这里播放声音  

2014-04-13 13:53:40|  分类: QT5.x与QML |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
如题:

//=====main.cpp

#include "mysound.h"
#include <QtWidgets/QApplication>

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
mysound w;
w.show();
return a.exec();
}


//========mysound.h

#ifndef MYSOUND_H
#define MYSOUND_H

#include <QtWidgets/QWidget>
class mysound : public QWidget
{
Q_OBJECT

public:
mysound(QWidget *parent = 0);
~mysound();
private slots:
void TestSoundSlot();
private:
};

#endif // MYSOUND_H


//======mysound.cpp

#include "mysound.h"

#include <QSound>

#include <QPushButton>
#include <QLayout>


#=======include "Label.h"
mysound::mysound(QWidget *parent) : QWidget(parent)
{
QPushButton* btn =  new QPushButton("test sound",this);
connect(btn,&QPushButton::clicked,this,&mysound::TestSoundSlot);
Label* text1 = new Label("text1",this);

Label* text2 = new Label("text2",this);

Label* text3 = new Label("text3",this);

QVBoxLayout* mainLayout = new QVBoxLayout;
mainLayout->addWidget(text1);
mainLayout->addWidget(text2);
mainLayout->addWidget(text3);
mainLayout->addWidget(btn);

this->setLayout(mainLayout);
}

mysound::~mysound()
{

}

void mysound::TestSoundSlot()
{
QSound::play("911.wav");
}



//=======label.h

#ifndef LABEL_H
#define LABEL_H

#include <QLabel>
class Label : public QLabel
{
Q_OBJECT

public:
Label(const QString& text,QWidget *parent);
~Label();
protected:
void mousePressEvent(QMouseEvent *event);
void enterEvent( QEvent * event);
private:
};
#endif // LABEL_H

//label.cpp
#include "label.h"

#include <QEvent>

#include <QSound>

Label::Label(const QString& text,QWidget *parent) : QLabel(parent)
{
this->setText(text);
}

Label::~Label()
{

}
void Label::mousePressEvent(QMouseEvent *event)
{
if(event->button()==Qt::LeftButton)
QSound::play("12.wav");
QLabel::mousePressEvent(event);
}
void Label::enterEvent(QEvent * event)
{
QSound::play("911.wav");

QLabel::enterEvent(event);
}

  评论这张
 
阅读(754)| 评论(0)
推荐

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017