精华内容
下载资源
问答
  • Qt 关闭窗口事件

    千次阅读 2019-05-05 15:07:30
    qt 的窗口在关闭时,会先进行窗口事件的判断;所以有时候误点击或者是突然不想点或者需要判断条件提醒时,可以在关闭事件中判断; 一 添加头文件 #include <QCloseEvent> 二 事件重写 protected : ...

    qt 的窗口在关闭时,会先进行窗口事件的判断;所以有时候误点击或者是突然不想点或者需要判断条件提醒时,可以在关闭事件中判断;

    一 添加头文件

    #include <QCloseEvent> 

    二 事件重写

    protected :
    	void closeEvent(QCloseEvent *event);

    三 主要事件定义

    void CameraDtecte1::closeEvent(QCloseEvent * event)
    {
    	qDebug() << "closeEvent ";
    	if (XXXXXXX ) 
            {
    		QMessageBox::information(this, tr("提示"), tr("请先停止运行"), tr("确定"), tr("取消"), 0, 1);
                    //满足条件 不退出
    		event->ignore();
    	}
    	qDebug() << "closeEvent ";
    }

     

    展开全文
  • Qt捕捉窗口关闭事件

    千次阅读 2019-05-18 21:53:46
    有时候我们希望在关闭窗口之前做一些操作,例如保存缓存数据或向用户提示是否关闭窗口等等。 由于一般的窗口都是继承自QWidget, 那么我们可以通过覆盖QWidget中的虚函数closeEvent(QCloseEvent* event);来达到这个...

    Qt捕捉窗口关闭事件

    有时候我们希望在关闭窗口之前做一些操作,例如保存缓存数据或向用户提示是否关闭窗口等等。

    由于一般的窗口都是继承自QWidget, 那么我们可以通过覆盖QWidget中的虚函数closeEvent(QCloseEvent* event);来达到这个目的。

    (1) 首先添加依赖库:

    #include <QCloseEvent> 

    (2) 接着声明和定义closeEvent函数

    a).h文件

    protected:  

         void closeEvent(QCloseEvent *event);  

      b).cpp文件

    void MainWindow::closeEvent(QCloseEvent *event)  

    {  

    QMessageBox::StandardButton button;  

        button=QMessageBox::question(this,tr("退出程序"),QString(tr("确认退出程序")),QMessageBox::Yes|QMessageBox::No);  

        if(button==QMessageBox::No)  

        {  

            event->ignore(); // 忽略退出信号,程序继续进行  

        }  

        else if(button==QMessageBox::Yes)  

        {  

            event->accept(); // 接受退出信号,程序退出  

        }  

     

        //TODO: 在退出窗口之前,实现希望做的操作  

    }

    展开全文
  • QT拦截关闭窗口事件

    2017-07-28 16:01:53
    QDialog类下有一个虚函数 ...通过实现closeEvent函数,就可以以对关闭窗口消息进行拦截,比如程序还没有完成工作时,可以弹出警告窗口,即使用户确认退出操作   在头文件中,需要加入#include :  

    QDialog类下有一个虚函数

    void QDialog::closeEvent (  QCloseEvent   *  e   )  [virtual protected]

     

    通过实现closeEvent函数,就可以以对关闭窗口消息进行拦截,比如程序还没有完成工作时,可以弹出警告窗口,即使用户确认退出操作

     

    在头文件中,需要加入#include :

     

    1. #ifndef TEST_H  
    2. #define TEST_H  
    3.   
    4. #include   
    5. #include   
    6.   
    7. class ClientTest : public QDialog  
    8. {  
    9.     Q_OBJECT  
    10.   
    11. public:  
    12.     ClientTest();  
    13.     void closeEvent(QCloseEvent *event);  
    14.  //后边的具体实现省略  
    15. ...  
    16.   
    17. };  
    18. #endif  

     

    在cpp文件中,对closeEvent函数进行实现:

     

    1. void ClientTest::closeEvent(QCloseEvent *event)  
    2. {  
    3.     QMessageBox::StandardButton button;  
    4.     button = QMessageBox::question(this, tr("退出程序"),  
    5.         QString(tr("警告:程序有一个任务正在运行中,是否结束操作退出?")),  
    6.         QMessageBox::Yes | QMessageBox::No);  
    7.   
    8.     if (button == QMessageBox::No) {  
    9.         event->ignore();  //忽略退出信号,程序继续运行  
    10.     }  
    11.     else if (button == QMessageBox::Yes) {  
    12.         event->accept();  //接受退出信号,程序退出  
    13.     }  
    14. }  
    展开全文
  • qt屏蔽关闭窗口事件

    千次阅读 2015-06-08 09:35:05
    void Dialog::closeEvent(QCloseEvent *event) { QMessageBox::StandardButton button; button = QMessageBox::question(this, tr("退出程序"), QString(tr("警告:程序有一个任务...//关闭函数 exit(0);
    void Dialog::closeEvent(QCloseEvent *event)
    {
        QMessageBox::StandardButton button;
          button = QMessageBox::question(this, tr("退出程序"),
              QString(tr("警告:程序有一个任务正在运行中,是否结束操作退出?")),
              QMessageBox::Yes | QMessageBox::No);
          if (button == QMessageBox::No) {
              event->ignore();  //忽略退出信号,程序继续运行
          }
          else if (button == QMessageBox::Yes) {
              event->accept();  //接受退出信号,程序退出
          }
    }
    
    //关闭函数
    exit(0);
    


    展开全文
  • 拦截QT关闭窗口的CloseEvent

    千次阅读 2012-04-29 11:14:07
    写程序遇到了QTimer启动以后可以在普通函数(例如槽函数)里面停止,但是无法在析构函数里停止的...然后找了一篇讲“相应QT关闭窗口事件”的例子,摘抄如下。 转自:http://blog.csdn.net/vah101/article/details/
  • Go Qt5 创建空白窗口、窗口居中及关闭窗口事件 关闭窗口按钮 func closeWindow(app *widgets.QMainWindow) { // 创建按钮 btn := widgets.NewQPushButton2("关闭窗口", app) // 设置按钮大小 btn.Resize(btn....
  • QT关闭处理事件

    2020-05-14 17:37:36
    QT窗口关闭事件处理, QWindow窗口与QDialog使用不同方式, 各类处理方式如下: QWindow #include <QCloseEvent> void MainWindow::closeEvent (QCloseEvent *event) { QMessageBox::StandardButton resBtn...
  • void MyWidget::closeEvent... //如果有多线程操作,要记得关闭 event->accept(); //关闭 } else { event->ignore(); //不关闭 } }   转载于:https://my.oschina.net/u/3273849/blog/1586781
  • .h #include <QCloseEvent> //... ... void closeEvent(QCloseEvent *e); .cpp void XXX::closeEvent(QCloseEvent *e){ // 想要实现的操作 this->close(); }
  • qt gui窗口关闭事件

    2010-03-11 13:40:47
    所以要在关闭窗口时,同时关闭它们。 这就需要拦截关闭窗口的信号。 这里重载关闭事件,和按键事件。 void closeEvent(QCloseEvent *e); void keyPressEvent(QKeyEvent *e); #include <QKeyEvent>#...
  • 窗口关闭信息https://www.iteye.com/blog/mmdev-1760044 #include <QCloseEvent> // .h 文件 protected: void closeEvent(QCloseEvent *event); //源文件 void MainWindow::closeEvent...
  • 有时候我们希望在关闭窗口之前做一些操作,例如保存缓存数据或向用户提示是否关闭窗口等等。 由于一般的窗口都是继承自QWidget, 那么我们可以通过覆盖QWidget中的虚函数closeEvent(QCloseEvent* event);来达到这个...
  • Qt捕捉窗口关闭事件与信号的捕捉

    千次阅读 2013-08-09 15:09:52
    有时候我们希望在关闭窗口之前做一些操作,例如保存缓存数据或向用户提示是否关闭窗口等等。 由于一般的窗口都是继承自QWidget, 那么我们可以通过覆盖QWidget中的虚函数closeEvent(QCloseEvent* event);来达到这
  • 有时候我们希望在关闭窗口之前做一些操作,例如保存缓存数据或向用户提示是否关闭窗口等等。 由于一般的窗口都是继承自QWidget, 那么我们可以通过覆盖QWidget中的虚函数closeEvent(QCloseEvent* event);来达到这个...
  • 有时候我们希望在关闭窗口之前做一些操作,例如保存缓存数据或向用户提示是否关闭窗口等等。 由于一般的窗口都是继承自QWidget, 那么我们可以通过覆盖QWidget中的虚函数closeEvent(QCloseEvent* event);来达到这个...
  • QT GUI MainWindow窗口关闭事件

    千次阅读 2011-10-27 13:46:16
    所以要在关闭窗口时,同时关闭它们。 这就需要拦截关闭窗口的信号。 这里重载关闭事件,和按键事件。 void closeEvent(QCloseEvent *e); void keyPressEvent(QKeyEvent *e); #include <QKeyEvent> ...
  • 利用 Qt::WA_NoMouseReplay,可以避免重复触发窗口外的鼠标点击事件(仅关闭窗口); 利用 activeWindows(),可以解决Qt::Popup属性的窗口无法输入中文的问题(show之后调用); 问题:点击其他区域,回关闭窗口,...
  • 有时候我们希望在关闭窗口之前做一些操作,例如保存缓存数据或向用户提示是否关闭窗口等等。由于一般的窗口都是继承自QWidget, 那么我们可以通过覆盖QWidget中的虚函数closeEvent(QCloseEvent* event);来达到这个...
  • 分析:这里没有现成的信号可以使用,需要重载mousePressEvent 及 mouseReleaseEvent 事件函数,在mouseReleaseEvent 函数中检查鼠标是否在按钮中,若是,则发送点击事件。以下为版本一实现:void testbutton::...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 197
精华内容 78
关键字:

qt关闭窗口事件