双击退出应用

private long firstTime=0;//初始化第一次点击时间
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {//重写onKeydown方法,完成双击退出功能的实现
        if(keyCode==KeyEvent.KEYCODE_BACK && event.getAction()==KeyEvent.ACTION_DOWN){//判断是否点击了返回键
            if (System.currentTimeMillis()-firstTime>2000){//判断两次点击返回键的时间间隔
                Toast.makeText(MainActivity.this," 再次点击退出程序!",Toast.LENGTH_SHORT).show();
                firstTime=System.currentTimeMillis();
            }else {
                finish();
                System.exit(0);
            }
            return true;
        }
        return super.onKeyDown(keyCode,event);
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Qt中,要实现控件的双击全屏和双击退出全屏功能,你可以使用`QGraphicsView`或`QMainWindow`等带有支持此操作的窗口管理器的控件。通常,这样的功能涉及到事件处理,特别是鼠标点击事件(`QEvent::MouseButtonDblClick`)。 以下是一个简单的示例,演示如何在一个`QGraphicsView`上实现这个功能: ```cpp #include <QApplication> #include <QGraphicsScene> #include <QGraphicsView> #include <QGraphicsRectItem> #include <QTimer> class FullscreenController : public QObject { public: void toggleFullScreen(QGraphicsView* view) { if (view->isFullScreen()) { view->showNormal(); } else { QRect rect = view->viewport()->rect(); view->setGeometry(rect); QApplication::desktop()->moveCursorTo(view->mapToGlobal(rect.topLeft())); view->showFullScreen(); } } signals: void toggledFullScreen(); private slots: void handleDoubleClick() { toggleFullScreen(qobject_cast<QGraphicsView*>(sender())); emit toggledFullScreen(); } }; int main(int argc, char *argv[]) { QApplication app(argc, argv); QGraphicsScene scene; QGraphicsView view(&scene); view.setAcceptDrops(true); // 必须接受所有事件才能捕获双击 FullscreenController controller; connect(&controller, &FullscreenController::toggledFullScreen, this, []() { qDebug() << "FullScreen mode toggled"; }); QTimer::singleShot(0, &controller, SLOT(handleDoubleClick())); // 马上触发双击事件 scene.addItem(QGraphicsRectItem(scene.width(), scene.height(), Qt::white)); // 添加一个矩形以便于点击 view.show(); return app.exec(); } ``` 在这个例子中,我们创建了一个`FullscreenController`类,负责处理全屏切换逻辑。当`handleDoubleClick`信号被触发时(即用户双击图形视图),`toggleFullScreen`方法会被调用,控制视图的全屏状态。 需要注意的是,这只是一个基础示例,实际应用可能需要处理更多的边界情况和优化,例如处理非视口区域的点击、确保正确处理窗口最大化和最小化等其他窗口模式等。如果你在使用过程中遇到问题,记得提供更多的上下文信息以便得到更精确的帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值