Qt学习之路(20): 事件接收与忽略
来源:互联网 发布:boot repair ubuntu 编辑:程序博客网 时间:2024/05/17 22:49
void MyLabel::mousePressEvent(QMouseEvent * event)
{
if(event->button() == Qt::LeftButton) {
// do something
} else {
QLabel::mousePressEvent(event);
}
}
{
if(event->button() == Qt::LeftButton) {
// do something
} else {
QLabel::mousePressEvent(event);
}
}
void QWidget::mousePressEvent(QMouseEvent *event)
{
event->ignore();
if ((windowType() == Qt::Popup)) {
event->accept();
QWidget* w;
while ((w = qApp->activePopupWidget()) && w != this){
w->close();
if (qApp->activePopupWidget() == w) // widget does not want to dissappear
w->hide(); // hide at least
}
if (!rect().contains(event->pos())){
close();
}
}
}
{
event->ignore();
if ((windowType() == Qt::Popup)) {
event->accept();
QWidget* w;
while ((w = qApp->activePopupWidget()) && w != this){
w->close();
if (qApp->activePopupWidget() == w) // widget does not want to dissappear
w->hide(); // hide at least
}
if (!rect().contains(event->pos())){
close();
}
}
}
void MainWindow::closeEvent(QCloseEvent * event)
{
if(continueToClose()) {
event->accept();
} else {
event->ignore();
}
}
bool MainWindow::continueToClose()
{
if(QMessageBox::question(this,
tr("Quit"),
tr("Are you sure to quit this application?"),
QMessageBox::Yes | QMessageBox::No,
QMessageBox::No)
== QMessageBox::Yes) {
return true;
} else {
return false;
}
}
{
if(continueToClose()) {
event->accept();
} else {
event->ignore();
}
}
bool MainWindow::continueToClose()
{
if(QMessageBox::question(this,
tr("Quit"),
tr("Are you sure to quit this application?"),
QMessageBox::Yes | QMessageBox::No,
QMessageBox::No)
== QMessageBox::Yes) {
return true;
} else {
return false;
}
}
阅读全文
0 0
- Qt学习之路(20): 事件接收与忽略
- Qt学习之路(20): 事件接收与忽略
- Qt学习之路(20): 事件接收与忽略
- Qt学习之路(20): 事件接收与忽略
- Qt学习之路(20): 事件接收与忽略
- Qt学习之路(20): 事件接收与忽略
- Qt学习之路(20): 事件接收与忽略
- Qt 之路 (20)—事件的接收与忽略
- QT之GUI学习笔记(十五)----事件接收与忽略
- 事件接收与忽略-20
- 事件接收与忽略
- 事件接收与忽略
- 事件接收与忽略
- 有关Qt事件的接收与忽略的一些理解
- Qt 学习之路 2(19):事件的接受与忽略
- QT学习之路(8):事件的传递和忽略
- QT5 学习之路08---事件的接受与忽略
- qt之控件事件接收
- 删除该字scrStr符串中的所有delStr字符串
- [Leetcode] 394. Decode String 解题报告
- 深度学习之keras使用
- 杭电acm 1241Oil Deposits(dfs搜索入门题)
- POJ3278-Catch That Cow(bfs)
- Qt学习之路(20): 事件接收与忽略
- 定时器Timer、线程(池)
- php利用支付宝沙箱环境进行当面付测试
- Oracle DG测试failover和后续恢复报告
- andriod的可视化UI组件之下拉列表和常用适配器以及选中spinner的item的响应
- IDEA配置与常见问题
- 自制处理器OpenMIPS移植ucos-II过程之1——OpenMIPS介绍
- 漂亮的css文字效果
- 鼠标划入划出