#include <time.h>
void MainWindow::mousePressEvent(QMouseEvent *e)
{
time_t t;
time(&t);
static int remember_click_times=0;
static int exitlast=0;
int seconds = t;
if(e->x()>(deskrect.width()/2)&&e->y()<100)
{
if((seconds-exitlast)<3)
remember_click_times++;
else
remember_click_times=0;
exitlast=seconds;
if(remember_click_times>4) //点击大于4次调用close方法;
close();
}else
{
remember_click_times=0;
}
QMainWindow::mousePressEvent(e);
}
//弹窗,输入密码;
void MainWindow::closeEvent(QCloseEvent *e)
{
bool ok;
QString str = QInputDialog::getText(this,QString::fromLocal8Bit("密码核对"),QString::fromLocal8Bit("请输入密码:"),QLineEdit::Password,"",&ok);
if (ok){
if (str.compare("123") == 0)
e->accept();
else{
QMessageBox::warning(this,QString::fromLocal8Bit("警告!"), QString::fromLocal8Bit("密码错误!"));
e->ignore();
}
}
else
e->ignore();
}
重定义 Qt:: mousePressEvent与 closeEvent
最新推荐文章于 2025-07-28 14:36:56 发布
本文介绍了一个基于Qt的窗口应用中实现鼠标点击计数的功能,并在特定次数的点击后调用窗口关闭方法,同时加入了密码验证机制以增强安全性。
8471

被折叠的 条评论
为什么被折叠?



