用Qt实现一个风火轮

为了解决耗时操作的提示问题,作者通过Qt框架创建了一个类似风火轮的不断旋转动画。在探索和尝试过程中,作者参考了网上资源,包括free510提供的链接和yiyaaixuexi的文章,最终成功实现了这一功能。
摘要由CSDN通过智能技术生成

由于工作需要,有些操作比较耗时,但是又不知道具体什么时候结束,所以就想用一个不断转圈的东西来提示用户该操作需要一些时间.

我也不知道这个东西具体叫什么名字,姑且叫风火轮吧.

这种情况在软件中很常见,但是我从来没实现过,感觉还是无从下手.

在经过网上提问,自己也不断调试,终于弄出来了.

首先要谢谢 free510 这位网友提供的链接

http://www.qtcn.org/bbs/read-htm-tid-46658.html  

这里面有风火轮范例.

另外还有一个叫yiyaaixuexi的网友,她的一篇文章 Qt 无边框、透明、可移动、的个性窗体案例详解 给了我启发.

//这个就是那个对话框,无边框,透明,但是不可移动
BusyDialog::BusyDialog(QWidget *parent) : QDialog(parent)
{
    this->resize(80, 80);
    //实现透明无边框就是下面这三句话
    this->setWindowOpacity(1);    
    this->setWindowFlags(Qt::FramelessWindowHint);    
    this->setAttribute(Qt::WA_TranslucentBackground);

    this->setAttribute(Qt::WA_DeleteOnClose);
    
    //剩下的其实就是把别人写好的QProgressIndicator放到对话框里面
    QProgressIndicator* pi = new QProgressIndicator(this);
    QHBoxLayout* hbl = new QHBoxLayout(this);
    hbl->addWidget(pi);
    pi->startAnimation();
}

//需要注意的是我没有在这里把它设置成模式对话框,你可以根据你的需要,设置一下
//让我感到疑惑的是,出现的风火轮并不是在屏幕的正中间,而是有点偏右,如果不隐藏的话就能在正中间.
 
//下面这个就是上面提到的free510 提供的链接的链接里面的范例代码,这里我就只贴一下QProgressIndicator的实现
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值