Qt4.8.2 模仿QQ右下角弹窗提示

17 篇文章 1 订阅

今天在CSDN偶然看到一位前辈用JAVA写的QQ右下角弹窗提示,而自己正在学习Qt,所以也自己试着写一下,虽然代码乱的一塌糊涂,但最后还是能够运行了。

程序最终运行:

输入内容并点击确定的时候,从右下角平滑弹出下图。


停留10秒后,逐渐变透明并最终消失,可自行关闭和点击浏览按钮浏览输入的网址。

 

一、输入内容的对话框

从QDialog继承,点击确定,内容不为空时,作适当处理。

//点击确定按钮的信号槽
void inputMsg::onOK()
{
    if(lineEditText->text().isEmpty() ||textEditContent->toPlainText().isEmpty() ||lineEditUrl->text().isEmpty())
        return;
    //自定义的信号,把标题,内容,网址发给弹出窗口
    emit initMsg(lineEditText->text(),textEditContent->toPlainText(),lineEditUrl->text());
    //返回accepted
    QDialog::accept();
}

二、弹出窗口

弹出窗口应该是无边框,自绘标题栏的。

标题栏:

从QWidget继承,加入QLabel显示标题,关闭按钮用于向弹出窗口发送关闭信号。并在两者之间加入弹簧支撑。

myPushButton从QPushButton继承。设置按钮的各种事件。

myPushButton.h

private:
    void setBkPalette(int transparency);//设置透明度
protected:
    void enterEvent(QEvent *);//鼠标进入事件
    void leaveEvent(QEvent *);//离开
    void mousePressEvent(QMouseEvent *e);//点击
    void mouseReleaseEvent(QMouseEvent *e);//释放

弹窗窗口:

弹出窗口主要由三部分组成:

主要靠3个定时器:

1.平滑移动的定时器,窗口从右下角缓慢移动到合适位置。

2.窗口停留定时器,移动到合适位置后,开始即时,10S后窗体自动消失,也可自行点击关闭。

3.窗体关闭的定时器,关闭时,采用透明度渐变的方式,完全透明时自动推出。

 

 

基本就是这些了,比较粗糙,源码已上传至:小弟挣分也不容易啊,就不要怪小弟设了1分了。

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值