Qt入门(7)——QApplication类
来源:互联网 发布:mac terminal 有趣 编辑:程序博客网 时间:2024/04/30 05:13
任何一个使用Qt的图形界面的程序,都都必须有一个QApplication对象,而且只能有一个。
QApplication对象是可以通过全局变量qApp访问。它的负责的主要范围有:
1、使用用户的桌面设置,例如palette()、font()和doubleClickInterval()来初始化应用程序。如果用户改变全局桌面,例如通过一些控制面板,它会对这些属性保持跟踪。
2、执行事件处理,也就是说它从低下的窗口系统接收事件并且把它们分派给相关的窗口部件。通过使用sendEvent()和postEvent(),你可以发送你自己的事件到窗口部件。
3、分析命令行参数并且根据它们设置内部状态。关于这点的详细情况请参考下面的构造函数文档。
4、定义由QStyle对象封装的应用程序的观感。在运行状态下,可以通过setStyle()来改变。
5、指定应用程序如何分配颜色。
7、定义默认文本编码并且提供通过translate()用户可见的本地化字符串。
8、提供一些像desktop()和clipboard()这样的魔术般的对象。
9、它知道应用程序的窗口。你可以使用widgetAt()来询问在一个确定点上存在哪个窗口部件,得到一个topLevelWidgets()(顶级窗口部件)的列表和通过closeAllWindows()来关闭所有窗口,等等。
10、管理应用程序的鼠标光标处理。
11、它提供复杂的对话管理支持。这使得当用户注销时,它可以让应用程序很好地结束,如果无法终止,撤消关闭进程并且甚至为未来的对话保留整个应用程序的状态。
常用的几个方法:
1、 int QCoreApplication::exec ():启动程序,进入消息循环;
2、 QCoreApplication::exit ( int returnCode = 0 ):终止消息循环,退出程序;
3、QString QCoreApplication::applicationDirPath ():返回应用程序的路径,不包含最后的“\”;
4、void QCoreApplication::addLibraryPath ( const QString & path ):设置一个库的优先搜索路径;
5、QString QCoreApplication::applicationFilePath ():返回应用程序的全路径名;
6、qint64 QCoreApplication::applicationPid ():返回应用程序的进程ID;
7、void QCoreApplication::postEvent ( QObject * receiver, QEvent * event ):将事件发送到队列并立即返回;
8、bool QCoreApplication::sendEvent ( QObject * receiver, QEvent * event ):发送事件到队列,并等待返回结果;
9、 void QCoreApplication::sendPostedEvents ( QObject * receiver, int event_type ):立即分派事件队列中先前由portEevent发送的事件;
10、 void QCoreApplication::processEvents ( QEventLoop::ProcessEventsFlags flags = QEventLoop::AllEvents ):立即分派事件队列中flags指定的事件,直到没有事件可处理;
11、QString QCoreApplication::translate ( const char * context, const char * sourceText, const char * disambiguation, Encoding encoding, Encoding encoding = CodecForTr ):通过查询安装的消息文件,返回sourceText的翻译文本,如果安装文件不包含它则返回“sourceText”。context通常是一个类名(例如,“MyDialog”)并且sourceText是英语文本或者一个短的标识文本,如果输出文本很长可以通过一个短的名称查找到一个长的名称。
下面是一个简单的例子:
#include <QApplication>#include <QWidget>#include <QPushButton>int main(int argc, char *argv[]){ QApplication a(argc, argv); QWidget MainWindow; MainWindow.setMinimumSize(200, 100); MainWindow.setMaximumSize(200, 100); QPushButton button("Hello, World", &MainWindow); button.setGeometry(20, 20, 160, 60); MainWindow.show(); return a.exec();}
运行结果:
- Qt入门(7)——QApplication类
- Qt入门-应用程序类QApplication
- Qt入门-应用程序类QApplication
- Qt QApplication 类简介
- qt QApplication类
- Qt QApplication
- 自学QT之QApplication类和<qapplication.h>头文件
- Qt 类简介之 Qt QApplication 类
- Qt 类简介之 Qt QApplication 类
- Qt 类简介之---QApplication 类
- QT学习笔记(一):QApplication class
- QT 入门 -QApplication QPushButton QDialog Ui类型的手工使用
- Qt QApplication 类简介--Qt 类简介专题(四)
- Qt QApplication 类简介--Qt 类简介专题(四)
- Qt QApplication 类简介--Qt 类简介专题(四)
- QT Embedded-----QApplication
- QT之QApplication
- 【QT】QApplication简介
- jquery .parents() .parent() .closet()方法
- rpmbuild备忘
- 关于java开发的应用程序带环境的自动安装
- PHP实现对mysql数据库内容分页显示
- 责任链设计模式
- Qt入门(7)——QApplication类
- C语言打印菱形、金字塔
- 关于终端任务栏导致的窗口上浮问题
- readb(), readw(), readl(),writeb(), writew(), writel() 宏函数
- Eclipse “cannot be resolved to a type” error
- 建立ARM平台上的交叉调试器gdb和gdbserver
- 代码生成器 CodeSmith 的使用(四)
- gsoap namespace 修改
- Java UDP网络编程 - 最简单示例