精华内容
下载资源
问答
  • qt点击关闭按钮退出整个程序

    千次阅读 2019-12-31 19:07:29
    重写 当前ui 类的继承的类 例如 QWidget 重写他的closeEvent(QCloseEvent * event) void closeEvent(QCloseEvent * event){ event->ignore(); // 忽略不结束进程 this->hide(); // 隐藏界面 ......

    重写 当前ui 类的继承的类 例如 QWidget

    重写他的closeEvent(QCloseEvent * event)

    void closeEvent(QCloseEvent * event){

            event->ignore(); // 忽略不结束进程

            this->hide();  // 隐藏界面

    }

     

    展开全文
  • 一个基于Qt界面可视化的机器人系统控制程序,有一个Qwidget,需要点击两次才退出按钮“X”能正常退出。 解决方案: 首先查看该Qwidget类的构造函数中有无阻塞性或者执行时间相对较长的语句,若有,那么问题大概就是...

    Debug:Qt的Qwidget退出按钮X要点击2次才能够退出

    问题描述:

    一个基于Qt界面可视化的机器人系统控制程序,有一个Qwidget,需要点击两次才退出按钮“X”能正常退出。

    解决方案:

    首先查看该Qwidget类的构造函数中有无阻塞性或者执行时间相对较长的语句,若有,那么问题大概就是它了。

    代码段

    此为利用Coin3D显示机器人运动的三维仿真部分代码片段:

        myviewer = new SoQtExaminerViewer(qwidget);
        myviewer->setSceneGraph(root);
        myviewer->setBackgroundColor(SbColor(0.8, 0.8, 0.8));
        //myviewer->setTitle("open invenor robot");
        myviewer->show();
        myviewer->viewAll();
        SoQt::mainLoop();   //此语句为该线程阻塞语句
    

    SoQt::mainLoop(); //此语句为该线程阻塞语句,在该代码后面的程序因为被阻塞都不执行,所以在该代码之后的connect语句都无效。
    另外:若SoQt::mainLoop()在Qwidget的构造函数中,则该Qwidget需要点击两次才退出按钮“X”能正常退出。

    初始解决方案:

    将Qwidget类的构造函数中阻塞性或者执行时间相对较长的语句放到Qthread线程中执行即可。
    SoQt::mainLoop(); //此语句为该线程阻塞语句。

    后续:

    经测试发现,将SoQt::mainLoop();注释掉,程序也可以继续执行,原因是qt程序main函数中的exec()与mainloop有同相似的功能。

    在这里作下笔记。不足之处请指出!愿我们都能被温柔以待!

    展开全文
  • Qt 控制台程序正常退出

    千次阅读 2019-05-08 16:29:54
    废话不多说,最近想写一个控制台...1、手动点击关闭按钮;(不适用于自动关闭程序) 2、通过系统pid杀死程序;(这个怕是给自己挖坑啊) 3、调用程序自带的 exit() 退出程序函数; 3、调用程序自带的 quit() 退出...

    废话不多说,最近想写一个控制台程序,希望在执行完正常的代码后自动退出程序,研究了很久很久,看了很多办法,都不得行,最后可行的办法记录于此,避免以后再次入坑。

    首先,Qt 程序正常退出的方式有如下几种:
    1、手动点击关闭按钮;(不适用于自动关闭程序)
    2、通过系统pid杀死程序;(这个怕是给自己挖坑啊)
    3、调用程序自带的 exit() 退出程序函数;
    3、调用程序自带的 quit() 退出程序函数;

    我的代码是这样的:

    	#include <QApplication >
    	#include <runtime.h>
    	int main(int argc, char *argv[])
    	{
    	     QApplication a(argc, argv);
    	    // [0] 处理逻辑更新代码
    	    RunTime runtime;
    	    return a.exec();
    	}
    

    其中 RunTime 为我自己继承与 QObject 的子类,所有的逻辑代码都在里面。

    在 RunTime 里面,我直接调用 qApp->exit(0) qApp->quit() 都无法退出程序,收到强制关闭,程序退出代码一串负数,弄了半天,最后可以解决的办法就是加一个定时器

    RunTime 中定义一个 QTimer ,然后连接定时器的超时函数,在超时函数里面写 qApp->exit(0) ,然后启动定时器,时间尽量为1秒,然后程序就正常自动退出了。

    巨坑啊 必须要用定时器才可以,巨尴尬。

    展开全文
  • 结合两篇博文做一些修改我们可以轻易的达成:中文显示由关闭按钮事件弹出的对话框 具体代码: //以Dialog为例 //Dialog.h class Dialog : public QDialog { Q_OBJECT public: expli...

    本文是对以下两篇博文的一些修改和结合:

    拦截QT关闭窗口的CloseEvent
    Qt标准对话框之QMessageBox

    结合两篇博文做一些修改我们可以轻易的达成:中文显示由关闭按钮事件弹出的对话框

    具体代码:

    //以Dialog为例
    
    //Dialog.h
    #include <QCloseEvent> //加上头文件
    class Dialog : public QDialog
    {
        Q_OBJECT
    
    public:
        explicit Dialog(QWidget *parent = 0);
        void closeEvent(QCloseEvent *event); //在Dialog.h加上这句
        ...
    	//省略其他代码
    	...
    };
    
    //Dialog.cpp
    #include <QCloseEvent>
    #include <QMessageBox>
    void Dialog::closeEvent(QCloseEvent *event)
    {
        QMessageBox button(QMessageBox::Warning, QString(tr("警告")),QString(tr("警告:正在试图结束程序!")));
        button.setStandardButtons (QMessageBox::Yes|QMessageBox::No);
        button.setButtonText (QMessageBox::Yes,QString("结束"));
        button.setButtonText (QMessageBox::No,QString("返回"));
    
        if(button.exec() != QMessageBox::Yes)
        {
                event->ignore();
        }
    }
    

    样例:
    这里写图片描述

    当点击“关闭按钮”和“不接受”时,会返回原窗口,不会退出程序;
    当点击“接受”时才会退出程序。

    展开全文
  • 虽然Qt一开始只是一个用于开发具有图形用户界面的跨平台应用程序的工具,但该工具包已经扩展为一个有用的工具,用于构建所有类型的软件命令行应用程序、嵌入式软件和用于重型工作站应用程序的图形用户界面。Qt的历史...
  • 首先在析构函数中检查是否有指针变量未判断是否为空就delete,会导致程序异常。 其次在main.cpp中,修改如下: ...问题解决,这是程序关闭的时候退出。 ps:我曾经添加setAttribute(Qt::WA_DeleteOnClose)
  • Qt应用程序退出到系统托盘

    千次阅读 2018-08-06 11:37:58
    弹出询问框是否退出到系统托盘 ...用到了Qt的类 QSystemTrayIcon The QSystemTrayIcon class provides an icon for an application in the system tray. Modern operating systems usually provide a s...
  • /************************imageprocessqt5.h****************************/ #ifndef IMAGEPROCESSQT5_H ...QtWidgets/QMainWindow> #include<QtWidgets> #include "ui_imageprocessqt5.h" #pragma exec
  • QT:在MessageBox中判断用户点击关闭按钮时弹出确认框提示是否退出 1、首先在mainwindow.cpp里面添加一下主要代码 //The code from david!!! void MainWindow::closeEvent(QCloseEvent *event) //系统自带退出确定...
  • QT-点击关闭按钮时提示是否退出

    万次阅读 2017-07-27 17:39:58
    程序设计时,经常需要在关闭窗口时弹出对话框,让用户选择是否退出。实现方式很简单,重现主窗口的closeEvent函数,在窗口关闭时,会调用该函数。在函数中可以弹出对话框提示。 void CLG::closeEvent(QCloseEvent...
  • QT退出应用程序

    2020-11-27 20:12:07
    退出应用程序 方法1: QApplication* app; app->exit(0); 方法2: QApplication* app; app->quit(); 如果想在退出前加个提示,可以这样: if (!(QMessageBox::information(this,tr("exit"),tr("Do ...
  • // 重新覆写关闭事件响应函数 protected: virtual void closeEvent(QCloseEvent *event); void MyWidget::closeEvent(QCloseEvent *event) ... qDebug() "Recieve close event";... // 忽略关闭事件
  • 我用qt写了一个应用,现在需要实现这么一个功能,让程序暂停,按下回车或者鼠标点击按钮后继续进行。请问这个功能怎样实现
  • VS2015的QT按钮

    2019-03-05 10:19:13
    程序在vs2015下,使用qt插件,然后编写了一个小按钮,点击按钮退出界面。
  • 问题描述:使用QMessageBox弹出一个对话框后,点击这个对话框上的按钮,或是直接关闭这个对话框时,整个程序退出了。 具体情况:当在主窗体显示的时候,通过按钮弹出一个QMessageBox没问题,但是当主窗口隐藏的...
  • qt退出应用程序(exe)的方法

    万次阅读 2017-11-16 11:31:53
    首先退出应用程序(exe)的方法 方法1: QApplication* app; app->exit(0); 方法2: QApplication* app; app->quit(); 可以将以上方法加入到关闭程序的槽函数中 为了增加应用程序的人性化,在退出
  •  QWidget::create() clears the Qt::WA_QuitOnClose attribute for anything but Qt::Window, Qt::Widget or Qt::Dialog. The workaround is to call for example QWidget::show() firs
  • pyqt5+qt desiger实例教程(1)创建含有三个按钮的窗口,点击按钮三可退出 目标:设计一个含有三个按钮的窗口,点击按钮2弹出消息,点击按钮3退出 如果是使用的anacoda那么自带qtdesiger,搜索qt.exe即可,建议...
  • 先说一下这个练习的需求:在主界面有一个按钮点击按钮弹出一个新的界面。新界面上也有一个按钮点击可以返回主界面。(使用的是Qt 5.9.4版本的Qt Creator) (新建项目细节没问题的直接看文章末尾的截图吧~) ...
  • 二、第一个Qt程序1.路径名,文件名中不能有中文2.创建默认窗口类3.main函数4.对.pro文件的解释5.Qt Creator快捷键6.QPushButton的创建7.对象树(了解)8.QT中的坐标系 一、QT简介 1.什么是QTQt是一个跨平台的C++...
  • 例如:在本程序中,当用户单击该按钮时,QPushButton发送一个clicked()信号;而信号可以被连接到一个函数(在这里称为槽),所以当信号发送时,该槽将自动执行.在我们的例子中,连接该按钮的clicked()信号到QApplication对象...
  • 我是用Qt5设计了一个界面,通过按钮调用了一个控制程序。在arm11开发板上运行一段时间后,该控制程序会自动退出,不明白是哪产生的问题?希望各位给予解答。 控制程序主要功能为读txt文件,得到需要的状态量,将其...
  • Qt程序来说,一般的思路是将退出提示的逻辑写到,窗口的虚函数: void closeEvent(QCloseEvent *event) override; 但要注意的是:很多情况下,调用close()函数是无法结束应用程序的,它只能关闭窗口。调用close()...
  • 需要开发一种类似于QQ桌面之类的功能,点击关闭按钮并不退出,开发的应用程序在用户鼠标点击右上角的关闭按钮时,程序退出,缩小到右下角,进入托盘。例如win10右下角的图标。 二、思路 1、需要对应用软件...
  • 在mac 下应用场景如下:...1、点击关闭窗口按钮时,不退出应用。 2、点击dock应用图标时候显示应用程序住窗口。 应用的显示和隐藏不是本文重点,实现点击dock应用图标在QT获取对应通知是本文关键。 在写之前参考了 ...
  • Alright,Ifoundthereason.QWidget::create()clearstheQt::WA_QuitOnCloseattributeforanythingbutQt::Window,Qt::WidgetorQt::Dialog.TheworkaroundistocallforexampleQWidget::sho...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,701
精华内容 2,680
关键字:

qt点击按钮退出程序