Qt:QCoreApplication类

说明

QCoreApplication提供了有关当前运行程序的相关信息,当前程序应当是非GUI程序。对于GUI程序,应该用QGuiApplication,而对于采用了Qt Widget模块的程序,应该使用QApplication。不过这三者的继承关系是,QCoreApplication → QGuiApplicatioin → QApplication,所以后两种类也可以使用QCoreApplication的相关方法,如applicationDirPath()——可执行应用文件所在目录;applicationFilePath()——可执行应用文件路径。

QCoreApplication负责管理main事件循环,其中包含了来自OS的所有事件。此外,它也负责管理程序的初始化和收尾工作,包括系统和应用两方面的设置。

1)事件循环与事件处理

事件循环通过exec()启动。长期运行的程序可以调用processEvents()来保证程序的响应性。

通常情况下,推荐在main()方法中尽可能早地构造QCoreApplication、QGuiApplication、QApplication对象。exec()方法直到事件循环通过quit()退出时才会返回。

类中有许多很方便的静态方法,例如,通过instance()来获取QCoreApplication对象。事件通过sendEvent()发送,也可以通过postEvent()来发送一个事件队列。正在等待的事件可以通过removePostedEvents()移除,或者通过sendPostedEvents()进行部署。

2)程序与库的路径

程序路径通过applicationDirPath() 和 applicationFilePath()来确定,分别是程序目录和程序文件的路径。

库路径通过libraryPaths()来确定,通过setLibraryPaths()、addLibraryPath() 和 removeLibraryPath()操作库路径。

3)国际化与翻译

翻译文件通过 installTranslator() 和 removeTranslator()进行添加和移除。

程序字符串通过 translate() 进行翻译。

QObject::tr()和QObject::trUtf8()函数是通过translate()实现的。

4)命令行参数

传递到QCoreApplication构造函数中的命令行参数通过arguments()函数进行访问。

5)本地设置

在Unix/Linux系统下,Qt采用默认采用系统本地配置,这在使用POSIX系统的函数中可能会引发混乱。为了解决该问题,可以调用POSIX方法 setlocale( LC_NUMERIC , "C" ),调用时机是在初始化 QApplication 、QGuiApplication 、 QCoreApplication之后。

1、模块和加载项

 

2、构造

QCoreApplication(int &argc, char **argv)

构造一个Qt Core程序。Core程序没有用户界面,常见的有控制台程序、服务器程序。

argc与argv都是传入的参数,即命令行参数,通过arguments()可以用更方便的形式处理。

3、实例字段

类型

字段

说明

QString

applicationName

程序名

QString

applicationVersion

程序版本

QString

organizationDomain

组织域

QString

organizationName

组织名

bool

quitLockEnabled

是否允许QEventLoopLocker

4、静态方法

 

5、实例方法

返回值类型

方法

说明

void

installNativeEventFilter(QAbstractNativeEventFilter *filterObj)

事件筛选

virtual bool

notify(QObject *receiver, QEvent *event)

发送事件给receiver

void

removeNativeEventFilter(QAbstractNativeEventFilter *filterObject)

移除事件筛选

6、信号

void

aboutToQuit()

当程序将要退出 主循环 时发送该信号。

void

applicationNameChanged()

当一些信息改变时发送信号

void

applicationVersionChanged()

void

organizationDomainChanged()

void

organizationNameChanged()

7、槽

void

quit()

退出,并返回0(表示成功)。等同于调用QCoreApplication::exit(0)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值