当前位置: 首页 > news >正文

古典风格网站模版个人网站和企业网站

古典风格网站模版,个人网站和企业网站,宣传推广方案怎么写模板,中国科技发展成果目录 问题背景: aboutToQuit 代码举例 closeEvent事件 代码举例 程序退出方式 quit() exit(int returnCode 0) close() 问题背景: 实际项目中程序退出前往往需要及进行一些资源释放、配置保存、线程中断等操作,避免资源浪费&#xff…

目录

问题背景:

aboutToQuit

代码举例

closeEvent事件

代码举例

程序退出方式

quit()

 exit(int returnCode = 0)

 close()


问题背景:

         实际项目中程序退出前往往需要及进行一些资源释放、配置保存、线程中断等操作,避免资源浪费,配置参数丢失等;但是Qt程序默认的退出方式并不能释放主动申请的这些资源,因此在程序关退出前需要主动进行资源回收和记录退出方式等。

aboutToQuit

        aboutToQuit信号是QCoreApplication类的一个信号,它在应用程序即将退出时发出。这个信号对于在应用程序关闭前执行一些清理工作非常有用,比如保存设置、释放资源等。 使用场景:通常连接到一个槽函数,用于处理应用程序退出前的清理工作。

代码举例

通过连接 aboutToQuit信号到资源释放槽函数,从而达到在程序退出前进行资源释放操作。

int main(int argc, char *argv[])
{QApplication a(argc, argv);THWritterTool w;w.show();QObject::connect(qApp, &QCoreApplication::aboutToQuit, [&]() {cLogger("THWritterTool")->info("THWritterTool程序正常退出!");w.Destroy();ReleaseResource();});int ret = a.exec();//在事件循环结束后进行一些资源释放 一些非正常退出无aboutToQuit信号releaseResource();return ret;
}

closeEvent事件


        closeEvent是QWidget类的一个事件处理函数,当窗口关闭时,Qt会调用这个函数。通过重写主界面的这个函数可在窗口关闭前执行一些自定义的操作,比如询问用户是否真的要关闭窗口,或者保存未保存的数据。 

代码举例

void THWritterTool::closeEvent(QCloseEvent * event)
{if (!m_AuthorithyVertify){QTHMessageBox::TimerMessage(this, QMessageBox::Critical, QObject::tr("授权未验证通过,程序即将退出!"), 15 * 1000);cLogger("THWritterTool")->info("授权未验证通过退出");}else if (m_switchDB){QTHMessageBox::TimerMessage(this, QTHMessageBox::Critical, QObject::tr("数据库已切换,程序即将退出!"), 15 * 1000);cLogger("THWritterTool")->info("切换数据库程序退出");}else{if (m_savingCfg){QTHMessageBox::TimerMessage(this, QTHMessageBox::Warning, QObject::tr("正在保存配置文件,无法退出。"), 15 * 1000);event->ignore();//忽略退出事件return;}ret = QTHMessageBox::question(this, tr("是否要退出程序?"), QTHMessageBox::Yes | QTHMessageBox::No);if (ret == QTHMessageBox::Yes){cLogger("THWritterTool")->info("用户手动确认退出");}}cLogger("THWritterTool")->info("正常退出");g_pTHSplashScreen->show();//启动画面qApp->processEvents();//保证退出时候展示启动画面事件可运行 避免卡死Destroy();event->accept();//接收事件 不在传递
}

程序退出方式

quit()

      • quit()是QCoreApplication类(以及继承自它的QApplication类)的一个静态函数,用于退出整个Qt应用程序。

      • 当调用quit()时,它会退出主事件循环,触发QApplication::exec()返回,并关闭所有打开的窗口。程序会完全终止。

      • quit()通常用于在应用程序中实现“退出”功能,比如在菜单项的“退出”操作上绑定这个函数。

      • quit()作为槽函数,也可以连接信号和槽,响应某个信号后关闭应用程序。
      
      • 调用quit后程序在退出前会触发aboutToQuit信号

 exit(int returnCode = 0)

      • exit()和quit()类似,也是用于退出应用程序。

      • exit()可以指定一个返回代码(returnCode),该代码将在应用程序退出时返回给操作系统。

      • 它同样会结束主事件循环并关闭所有窗口。

      • exit()更适合在需要返回特定退出代码的场景中使用。
      
      • 调用exit后程序在退出前会触发aboutToQuit信号

 close()

      • close()是QWidget类的成员函数,用于关闭单个窗口或控件。

      • 调用close()会尝试关闭该窗口或控件,关闭前会触发closeEvent()事件。如果该窗口是主窗口,且所有子窗口都已关闭,应用程序会退出,退出前会触发和aboutToQuit信号。

      • close()适用于关闭单个窗口或控件的场景,比如“关闭”按钮的操作。

      • 当用户点击窗口右上角的“X”按钮时,系统也会自动调用该窗口的close()函数。
      

http://www.15wanjia.com/news/161621.html

相关文章:

  • 360网站挂马检测html如何做网站
  • 哈尔滨网站优化咨询asp是网站开发吗
  • 重庆潼南网站建设报价智慧团建系统官方网站登录
  • 杭州滨江区建设局网站网站怎么做域名解析
  • yes风淘宝网站wordpress果酱
  • 手机网站北京影视广告制作拍摄公司
  • 高端网站制作流程河南炒股配资网站开发
  • 凡科建站做的网站有什么短板建一个网站带管理需要多少钱一年
  • 上海网站关键排名宁波seo公司排名
  • 外国购物平台网站大全下载app到手机
  • 同一个阿里云可以做两个网站吗长春工程公司招聘
  • 中国建设信用卡网站首页网站建设方案 安全
  • 广州建站推广怎样设计自己的网站
  • 做网站的重点目标百度贴吧网页版
  • 杭州企业做网站企业网站推广多少钱
  • 网络舆情监测流程seo技术培训东莞
  • 行业门户网站模板下载金融网站建设方案书
  • 报送举报网站建设情况摄影旅游网站源码
  • 积极推进网站建设南阳公司网站建设
  • 网站开发文档 php咨询网络服务商
  • 天津做网站的公司排行做网站基本教程
  • wordpress显示同一分类的文章企业seo自助建站系统
  • 怎样做家普网站网站建设策划 流程图
  • 网站建设常规自适应浏阳网站建设tvshown
  • 钓鱼网站 企业形象免费ppt模板下载红色主题
  • 搭建网站上传文件房屋网站
  • 网站字体只能用网络推广案例
  • cd网站建设网站百度关键词seo排名优化
  • 招聘网站开发源代码网站建设滨江
  • 做下一个盗版小说网站网站流量超