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

建设网站一般过程摘抄一小段新闻

建设网站一般过程,摘抄一小段新闻,wordpress媒体库相册,官网seo是什么意思我有一个带有通知区域图标的应用程序,因此主窗口可能会忽略关闭事件.我正在尝试保存应用程序退出的首选项和历史记录.我还想在应用程序运行时处理注销.虽然应用程序是跨平台的,但它在GNU /Linux中最方便/最有用,因此Windows注销行为的关注度要低得多.这是一个用于测试不同桌面环…我有一个带有通知区域图标的应用程序,因此主窗口可能会忽略关闭事件.我正在尝试保存应用程序退出的首选项和历史记录.我还想在应用程序运行时处理注销.虽然应用程序是跨平台的,但它在GNU /Linux中最方便/最有用,因此Windows注销行为的关注度要低得多.这是一个用于测试不同桌面环境/窗口管理器行为的最小可编译示例// main.cpp# include # include # include # include # include class M : public QMainWindow{Q_OBJECTpublic:~M();public slots:void onAboutToQuit();private:void closeEvent(QCloseEvent *);};M::~M(){std::cout M::~M() std::endl;}void M::onAboutToQuit(){std::cout onAboutToQuit() std::endl;}void M::closeEvent(QCloseEvent * e){std::cout closeEvent() std::endl;hide();QTimer::singleShot(5000, this, SLOT(show()));e-ignore();}int main(int argc, char * argv[]){QApplication app(argc, argv);M m;m.setWindowModality(Qt::NonModal);m.connect( app, SIGNAL(aboutToQuit()),SLOT(onAboutToQuit()));m.show();return app.exec();}# include main.moc// CMakeLists.txtcmake_minimum_required(VERSION 2.6)project(closeeventbug)option(QT5 Use Qt5 OFF)if(QT5)find_package(Qt5Core REQUIRED)find_package(Qt5Widgets REQUIRED)else()find_package(Qt4 REQUIRED)include_directories(${QT_INCLUDES})endif()include_directories(${CMAKE_CURRENT_BINARY_DIR})set(CMAKE_AUTOMOC ON)add_executable(closeeventbug main.cpp)if(QT5)qt5_use_modules(closeeventbug Core Widgets)else()target_link_libraries(closeeventbug ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY})endif()注销时大多数完整的桌面环境都会尝试关闭可见窗口.但由于测试应用程序在关闭时不会退出,因此注销将被中断/取消.如果在窗口不可见时执行注销,它会正常退出(就像我想要的那样).功能较少的桌面环境/窗口管理器会忽略仍在运行的应用程序并退出.他们中的大多数甚至没有警告应用程序有关注销,因此文件中既没有“closeEvent()”,也没有“onAboutToQuit()”,也没有“M :: ~M()”,程序输出被重定向.详细结果(所有非Windows结果来自Manjaro GNU / Linux)完整的桌面环境,如果可见窗口拒绝退出,则取消注销,优雅地完成隐形应用程序closeEvent()onAboutToQuit()M::~M(){ KDE, XFCE, Mate, GNOME, Cinnamon }所有其他人都不取消退出,但其中一些人试图警告应用程序.我不知道为什么onAboutToQuit()出现在日志中,但M :: ~M()不是这种情况……closeEvent()onAboutToQuit(){ Windows7 }3.closeEvent(){ icewm, E17 }4.{ RazorQt, LxDE, LxQt, i3, budgie, fluxbox, awesome, openbox,wmii, E16, pekWM, uwm, fvwm, xmonad, spectrwm, windowmaker,herbstluftwm, WindowsXP }对于(GCC 4.9.1或Clang 3.4.2)AND(Qt 4.8.6 OR Qt 5.3.1)的任何组合,行为完全相同.然而,当我在Xubuntu上尝试Qt 4.8和Qt 5.2时,结果有些不同XFCE中的Qt 5.2没有阻塞 – 无论主窗口可见性如何,应用程序都能正常完成.但Qt 4.8存在阻塞(与Manjaro相同).我知道可以正确处理注销(没有阻塞),因为有几个应用程序可以做到这一点.所有这些都有通知区域图标,关闭通知区域,但不阻止注销.基于QtGoldenDict,Transmission-Qt,Kopete;以GTK为基础Audacious,Pidgin.我检查了基于Qt的源代码,发现处理closeEvent没什么特别之处https://github.com/goldendict/goldendict/blob/master/mainwindow.ccvoid MainWindow::closeEvent( QCloseEvent * ev ){if ( cfg.preferences.enableTrayIcon cfg.preferences.closeToTray ){ev-ignore();hide();}else{ev-accept();qApp-quit();}}https://github.com/bfleischer/transmission/blob/master/qt/mainwin.ccvoidTrMainWindow :: closeEvent( QCloseEvent * event ){// if theyre using a tray icon, close to the tray// instead of exitingif( !myPrefs.getBool( Prefs :: SHOW_TRAY_ICON ) )event-accept( );else {toggleWindows( false );event-ignore( );}}voidTrMainWindow :: toggleWindows( bool doShow ){if( !doShow ){hide( );}else{if ( !isVisible( ) ) show( );if ( isMinimized( ) ) showNormal( );//activateWindow( );raise( );QApplication::setActiveWindow( this );}}git clone git://anongit.kde.org/kopetevoid KopeteWindow::closeEvent ( QCloseEvent *e ){// if we are not ok to exit on close and we are not shutting down then just do what needs to be done if a// window is closed.KopeteApplication *app static_cast ( kapp );if ( !shouldExitOnClose() !app-isShuttingDown() !app-sessionSaving() ) {// BEGIN of code borrowed from KMainWindow::closeEvent// Save settings if auto-save is enabled, and settings have changedif ( settingsDirty() autoSaveSettings() )saveAutoSaveSettings();if ( queryClose() ) {e-accept();}// END of code borrowed from KMainWindow::closeEventkDebug ( 14000 ) just closing because we have a system tray icon;}else{kDebug ( 14000 ) delegating to KXmlGuiWindow::closeEvent();KXmlGuiWindow::closeEvent ( e );}}所以问题即使主窗口可见,如何确保我的应用程序不会阻止注销如何确保在尽可能多的桌面环境/窗口管理器中注销时调用onAboutToQuit()和~M()我怀疑应该收听一些系统信号,但我不知道究竟是哪一个……
http://www.yutouwan.com/news/465520/

相关文章:

  • 怎么找做网站的客户wordpress 自定义内容类型 pan
  • 免费企业建网站WordPress免插件广告
  • 网站开发产权保护重庆市建设工程信息网更改
  • 自贡市网站建设淄博免费网站建设
  • wordpress 首页 html以下属于网站seo的内容是
  • 网站重新解析wordpress 添加js
  • 全国 网站备案 数量网站策划案
  • 网站备案被注销怎么办网站建设一流公司
  • 2023年做网站怎么样免费好用的ip代理
  • 做网站必须用域名吗想创建一个网站
  • 网页策划书 网站建设定位网站怎么做落款
  • 域名备案和网站备案是一回事吗网站维护主要工作内容
  • 长沙商业网站建设交互式网站开发
  • 江西建设厅培训网站事件营销策划
  • ip做网站响应式网站模板费用
  • 泊头建网站网站设计远程培训
  • 静态手机网站基础响应式布局有几种方法
  • 专业电商网站建设哪家好保定企业网站的建设
  • 网站情况建设说明建设旅游网站的目的
  • 动态ip建网站企业网站备案系统
  • 怎么样自己建设一个网站可视化拖拽网站建设软件
  • 网站梦打开又提示无法访问鹿邑网站建设
  • 考研培训机构排名前五的机构网站排名优化首页
  • 网站换域名影响苏醒 wordpress
  • 刷赞网站推广免费链接设计师用的装修设计软件
  • seo推广网站有哪莱芜一中谭苗苗事件
  • 做一个招聘信息的网站_用什么做网站的软件四川建设机械网站首页
  • 中国建设投资集团 网站首页网络搭建项目案例
  • 企业门户网站建设咨询内蒙古建设监理协会网站
  • 上海做企业网站wordpress推荐链接