简单屏蔽Alt+F4组合键

        //屏蔽ALT + F4的组合键 ,窗体的keyPreview属性设置为true
        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if ((e.KeyCode==Keys.F4) &&(e.Modifiers==Keys.Alt) )
            {
                e.Handled = true;
            }
        }

在Linux上,Qt应用程序可以通过拦截键盘事件来防止用户按下`Ctrl + F4`等组合键关闭窗口。这通常通过重写特定的窗口事件处理函数来实现。以下是一个简单的步骤概述: 1. **包含头文件**:首先,在你的Qt源码中包含`QEventLoop`和`QShortcut`等相关的库。 ```cpp #include <QApplication> #include <QEvent> #include <QShortcut> ``` 2. **创建窗口**:在窗体初始化时,检查是否需要屏蔽特定的快捷键。如果需要,创建一个`QShortcut`实例并设置你需要阻止的快捷键。 ```cpp bool shouldBlockClose = /* 根据需求判断 */; if (shouldBlockClose) { QShortcut* shortcut = new QShortcut(QKeySequence(Qt::ALT + Qt::Key_F4), this); shortcut->setAutoRepeat(false); // 防止连续触发 connect(shortcut, &QShortcut::activated, []() { return false; }); } ``` 3. **重写关闭事件**:覆盖`close()`或`closeEvent()`函数,以便在接收到关闭请求时检查是否应该允许。 ```cpp void MyWindowClass::closeEvent(QCloseEvent *event) { if (shouldBlockClose) { event->ignore(); // 如果需要阻止,忽略事件 } else { QApplication::closeAllWindows(); // 否则正常关闭 } } ``` 4. **事件循环**:确保你的应用有一个有效的事件循环来监听和处理事件,比如`QCoreApplication::exec()`。 ```cpp int main(int argc, char *argv[]) { QApplication app(argc, argv); // 创建并显示窗口 MyWindowClass window; window.show(); // 运行事件循环 int result = app.exec(); delete window; return result; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值