代码控制回到桌面

其实就只需要发一个广播就OK

Intent i= new Intent(Intent.ACTION_MAIN);

   i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //android123提示如果是服务里调用,必须加入new task标识
i.addCategory(Intent.CATEGORY_HOME);
startActivity(i);

转载于:https://my.oschina.net/u/1024921/blog/169320

### 回答1: 在Qt C++中实现窗口缩回到桌面左下角的动漫特效可以通过以下步骤来实现: 首先,在Qt中创建一个新的窗口或者窗体,该窗口将作为我们要实现特效的目标窗口。 其次,我们需要为窗口添加动画效果。使用Qt提供的动画框架QPropertyAnimation可以方便地实现动画效果。我们可以使用该类来设置窗口的位置,使其平滑地移动到桌面的左下角。 接下来,在窗口的构造函数或其他适当的位置,我们可以设置一个触发动画的事件。例如,当鼠标点击一个按钮或执行特定的操作时,触发动画开始执行。 然后,我们需要定义动画效果的起始位置和结束位置。在此情况下,起始位置可以是窗口当前的位置,而结束位置可以是桌面的左下角。 最后,我们可以设置动画的持续时间,速度曲线以及其他属性。可以调整这些参数以获得所需的效果。 在动画开始后,窗口将平滑地移动到桌面的左下角。在动画结束后,我们可以采取适当的措施来隐藏或最小化窗口,以便让它看起来像是缩回到桌面隐藏起来了。 综上所述,通过使用Qt C++中的动画框架和窗口操作,我们可以实现一个窗口缩回到桌面左下角的动漫特效。这将为用户带来独特的视觉体验。 ### 回答2: 在Qt C++编程中,要实现窗口缩回桌面左下角的动漫特效,可以通过以下步骤来实现: 1. 创建一个主窗口,并设置其初始位置为屏幕上某个位置,例如右下角。 2. 创建一个定时器,用于控制窗口缩回的动画效果。在定时器的槽函数中,逐步改变窗口的位置和尺寸,使之逐渐向左下角缩小。 3. 在定时器的每次触发事件中,使用窗口的`move()`函数来改变窗口的位置,使用`resize()`函数来改变窗口的尺寸。 4. 在定时器中,可以使用线性差值(例如`QVariantAnimation`)来实现平滑的动画效果。根据设定的动画时长和初始位置,计算出每次定时器触发时窗口应该移动的位置,逐步逼近目标位置。 5. 当窗口位置逼近左下角时,可以停止定时器,并将窗口的位置和尺寸设置为最终的位置和大小。 以下是一个简单的示例代码: ```cpp #include <QtWidgets> class MyMainWindow : public QMainWindow { public: MyMainWindow() { QTimer* timer = new QTimer(this); connect(timer, &QTimer::timeout, this, &MyMainWindow::animate); timer->start(10); // 指定定时器触发间隔,可以根据需要调整 setGeometry(600, 400, 400, 300); // 设置初始位置和大小 } private: void animate() { static const QPoint targetPos(0, QApplication::desktop()->height() - height()); // 目标位置 static const QSize targetSize(100, 100); // 目标尺寸 QPoint pos = mapToGlobal(rect().bottomRight()); // 当前位置 QSize size = size(); // 当前尺寸 // 计算需要移动的位置和尺寸 int dx = (targetPos.x() - pos.x()) * 0.1; int dy = (targetPos.y() - pos.y()) * 0.1; int dw = (targetSize.width() - size.width()) * 0.1; int dh = (targetSize.height() - size.height()) * 0.1; // 移动窗口和改变尺寸 move(pos.x() + dx, pos.y() + dy); resize(size.width() + dw, size.height() + dh); // 如果已经到达目标位置和尺寸,则停止定时器 if (pos == targetPos && size == targetSize) { qApp->quit(); } } }; int main(int argc, char *argv[]) { QApplication a(argc, argv); MyMainWindow w; w.show(); return a.exec(); } ``` 以上是一个基本的示例代码供参考,可以根据实际需求进行修改和优化。这个示例代码实现了窗口从右下角缩回到桌面左下角,并根据需要可以在代码中进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值