Home · All Classes · Modules  · QSS HELP  · QSS 案例 · VER007 HOME

QApplication Class Reference
[QtGui module]

该的QApplication类管理图形用户界面应用程序的控制流和主要设置。More...

继承QCoreApplication

Types

Methods

Static Methods

Qt Signals


Detailed Description

该的QApplication类管理图形用户界面应用程序的控制流和主要设置。

的QApplication包含主事件循环,其中来自窗口系统和其他来源的所有事件被处理和调度。它也处理应用程序的初始化,最后定稿,并提供会话管理。此外,的QApplication处理大部分的系统范围和应用范围的设置。

对于使用Qt的任何GUI应用程序,有正oneQApplication对象,无论应用程序是否具有0 ,1,2或更多个窗口在任何给定时间。对于非GUI Qt应用程序,使用QCoreApplication相反,因为它不依赖于QtGui库。

QApplication对象是通过访问instance( )函数返回一个指针相当于全球qApp指针。

的QApplication的主要责任领域是:

由于QApplication对象做了如此多的初始化,它must创建与用户界面的任何其他对象之前被创建。的QApplication也处理命令行参数。因此,它通常是一个好主意来创建它before任何解释或修改argv在该应用程序本身就完成了。

Groups of functions
System settings desktopSettingsAware(), setDesktopSettingsAware(), cursorFlashTime(), setCursorFlashTime(), doubleClickInterval(), setDoubleClickInterval(), setKeyboardInputInterval(), wheelScrollLines(), setWheelScrollLines(), palette(), setPalette(), font(), setFont(), fontMetrics().
Event handling exec_(), processEvents(), exit(), quit(). sendEvent(), postEvent(), sendPostedEvents(), removePostedEvents(), hasPendingEvents(), notify(), macEventFilter(), qwsEventFilter(), x11EventFilter(), x11ProcessEvent(), winEventFilter().
GUI Styles style(), setStyle().
Color usage colorSpec(), setColorSpec(), qwsSetCustomColors().
Text handling installTranslator(), removeTranslator() translate().
Widgets allWidgets(), topLevelWidgets(), desktop(), activePopupWidget(), activeModalWidget(), clipboard(), focusWidget(), activeWindow(), widgetAt().
Advanced cursor handling overrideCursor(), setOverrideCursor(), restoreOverrideCursor().
X Window System synchronization flushX(), syncX().
Session management isSessionRestored(), sessionId(), commitData(), saveState().
Miscellaneous closeAllWindows(), startingUp(), closingDown(), type().

Type Documentation

QApplication.ColorSpec

Constant Value Description
QApplication.NormalColor 0 默认的颜色分配策略
QApplication.CustomColor 1 NormalColor一样的X11 ,在Windows下需要一个调色板颜色分配
QApplication.ManyColor 2 对于使用上千种颜色的应用的理想选择

See setColorSpec( )的全部细节。

QApplication.Type

Constant Value Description
QApplication.Tty 0 一个控制台应用程序
QApplication.GuiClient 1 一个GUI客户端应用程序
QApplication.GuiServer 2 一个GUI服务器应用程序( Qt嵌入式Linux的)

Method Documentation

QApplication.__init__ (self, list-of-str argv)

初始化窗口系统,并构造一个应用程序对象argc在命令行参数argv

Warning:由所述资料argcargv必须保持有效的整个生命周期QApplication对象。另外,argc必须大于零和argv必须至少包含一个有效的字符串。

全球qApp指针指到这个应用程序对象。只有一个应用程序对象应该被创建。

此应用程序对象必须在任何构造paint devices(包括窗口小部件,像素图,位图等)。

Note: argcargv作为Qt的删除,它承认命令行参数可能会改变。

Qt的调试选项(如果Qt未经定义的QT_DEBUG标志编译) :

See Debugging Techniques对于更详细的解释。

所有Qt程序自动支持以下命令行选项:

在X11版本的Qt支持一些传统的X11命令行选项:

X11 Notes

If QApplication无法打开X11显示,它会终止进程。此行为与大多数X11应用程序是一致的。

See also arguments( ) 。

QApplication.__init__ (self, list-of-str argv, bool GUIenabled)

构造一个应用程序对象argc在命令行参数argv。如果GUIenabled诚然,一个GUI应用程序的构造,否则非图形用户界面(控制台)应用程序创建的。

Warning:由所述资料argcargv必须保持有效的整个生命周期QApplication对象。另外,argc必须大于零和argv必须至少包含一个有效的字符串。

GUIenabled为False,不,应该是能够在没有窗口系统上运行的图形用户界面程序。

在X11中,窗口系统,如果初始化GUIenabled是真实的。如果GUIenabled是假的,应用程序不连接到X服务器。在Windows和Mac OS ,现在窗口系统总是会被初始化,无论GUIenabled的价值。这可能会改变的Qt的未来版本。

下面的示例显示了如何创建一个使用图形界面时,可用的应用程序。

 int main(int argc, char **argv)
 {
 #ifdef Q_WS_X11
     bool useGUI = getenv("DISPLAY") != 0;
 #else
     bool useGUI = true;
 #endif
     QApplication app(argc, argv, useGUI);

     if (useGUI) {
        // start GUI version
        ...
     } else {
        // start non-GUI version
        ...
     }
     return app.exec();
 }

QApplication.__init__ (self, list-of-str argv, Type)

构造一个应用程序对象argc在命令行参数argv

Warning:由所述资料argcargv必须保持有效的整个生命周期QApplication对象。另外,argc必须大于零和argv必须至少包含一个有效的字符串。

与Qt嵌入式Linux的,路过QApplication.GuiServertype这使得应用程序的服务器(相当于与运行-qws选项)。

QApplication.__init__ (self, Display display, int visual = 0, int colormap = 0)

创建一个应用程序,给定一个已经打开的显示器display。如果visualcolormap非零,应用程序将使用这些值作为默认的Visual和Colormap上下文。

Warning:的Qt只支持TrueColor模式在深度大于8位每像素高。

此功能仅适用于X11 。

QApplication.__init__ (self, Display dpy, list-of-str argv, int visual = 0, int cmap = 0)

创建一个应用程序,给定一个已经打开display并使用argc在命令行参数argv。如果visualcolormap非零,应用程序将使用这些值作为默认的Visual和Colormap上下文。

Warning:的Qt只支持TrueColor模式在深度大于8位每像素高。

此功能仅适用于X11 。

QApplication.aboutQt ()

这种方法也是一个Qt槽与C + +的签名void aboutQt()

显示关于Qt的一个简单的消息框。该消息包括对Qt的正在使用的应用程序的版本号。

这是纳入有用Help一个应用程序的菜单,如图中Menus例子。

此函数是一个方便的槽,用于QMessageBox.aboutQt( ) 。

QWidget QApplication.activeModalWidget ()

返回有效的模态窗口小部件。

模态窗口小部件是一种特殊的顶级窗口部件这是一个子类QDialog指定构造函数作为真正的模态参数。模态窗口小部件,必须关闭之前,用户可以继续使用该程序的其他部分。

模态窗口部件被组织在一个栈中。该函数返回有效的模态窗口小部件在堆栈的顶部。

See also activePopupWidget()和topLevelWidgets( ) 。

QWidget QApplication.activePopupWidget ()

返回激活弹出窗口部件。

一个弹出窗口部件是一个特殊的顶级窗口部件设置Qt.WType_Popup小部件标志,例如该QMenu小工具。当应用程序打开一个弹出式窗口小部件,所有事件都发送到弹出。前弹出窗口部件被关闭正常的部件和模态窗口部件不能被访问。

只有其他弹出窗口部件可以打开一个弹出式窗口小部件时显示。在弹出的窗口部件被组织在一个栈中。这个函数返回弹出窗口部件在堆栈的顶部。

See also activeModalWidget()和topLevelWidgets( ) 。

QWidget QApplication.activeWindow ()

返回应用程序顶层窗口拥有键盘输入焦点,或者0,如果没有应用程序窗口具有焦点。有可能是一个则activeWindow ( ),即使没有focusWidget( ) ,例如,如果该窗口没有窗口部件接收键盘事件。

See also setActiveWindow( )QWidget.setFocus( )QWidget.hasFocus()和focusWidget( ) 。

QApplication.alert (QWidget widget, int msecs = 0)

导致警报显示为widget如果窗口不是活动窗口。警报显示为msec毫秒。如果msec为0(默认),则显示警报下去,直到窗口再次变得活跃。

目前,该函数不起作用的Qt嵌入式Linux操作系统。

在Mac OS X上,这个作品更在应用程序级别,并会导致应用程序图标在Dock上弹跳。

在Windows上,这会导致窗口的任务栏条目闪烁一段时间。如果msec是零,那么停止闪烁,并在任务栏条目将变成不同的颜色(目前橙色) 。

在X11 ,这会导致窗口被标记为“需要注意” ,窗口不能被隐藏(即没有隐藏()调用它,但在某种方式中可见) ,为了这个工作。

此功能被引入Qt的4.3 。

list-of-QWidget QApplication.allWidgets ()

返回应用程序的所有窗口部件的列表。

该列表是空的(QList.isEmpty( ) )如果没有小部件。

Note:一些小部件可能会被隐藏。

例如:

 void updateAllWidgets()
 {
     foreach (QWidget *widget, QApplication.allWidgets())
         widget->update();
 }

See also topLevelWidgets()和QWidget.isVisible( ) 。

bool QApplication.autoSipEnabled (self)

QApplication.beep ()

听起来钟,使用默认音量和声音。该函数是not在现有的Qt嵌入式Linux 。

QApplication.changeOverrideCursor (QCursor)

改变当前激活的应用程序复盖光标cursor

这个功能有没有影响,如果setOverrideCursor( )没有被调用。

See also setOverrideCursor( )overrideCursor( )restoreOverrideCursor()和QWidget.setCursor( ) 。

QClipboard QApplication.clipboard ()

返回一个指向应用程序的全局剪贴板。

Note:QApplication对象应该已经访问剪贴板之前建造。

QApplication.closeAllWindows ()

这种方法也是一个Qt槽与C + +的签名void closeAllWindows()

关闭所有顶层窗口。

此功能适用于许多顶层窗口的应用程序特别有用。它可以,例如,被连接到一个Exit在该条目File菜单:

     exitAct = new QAction(tr("E&xit"), this);
     exitAct->setShortcuts(QKeySequence.Quit);
     exitAct->setStatusTip(tr("Exit the application"));
     connect(exitAct, SIGNAL(triggered()), qApp, SLOT(closeAllWindows()));

该窗口都关闭以随机顺序,直到一个窗口不接受close事件。在应用程序退出时,最后一个窗口被成功关闭,这可以通过设置关闭quitOnLastWindowClosed为False。

See also quitOnLastWindowClosedlastWindowClosed( )QWidget.close( )QWidget.closeEvent( )lastWindowClosed( )quit( )topLevelWidgets()和QWidget.isWindow( ) 。

int QApplication.colorSpec ()

返回颜色规格。

See also QApplication.setColorSpec( ) 。

QApplication.commitData (self, QSessionManager sm)

这个函数处理session management。它被调用时,QSessionManager想让应用程序提交的所有数据。

通常,这意味着保存所有打开的文件,从用户得到允许后。此外,您可能需要提供由用户可以取消关机的手段。

你不应该退出这个函数中的应用。相反,会话管理器可以或可以不这样做之后,这取决于上下文。

Warning:在这个函数中,没有用户交互是可能的,unless你问manager为明确许可。看QSessionManager.allowsInteraction()和QSessionManager.allowsErrorInteraction( )了解详情和用法示例。

默认实现请求交互和发送一个close事件给所有可见的顶层窗口部件。如果任何一个事件被拒绝,关机将被取消。

See also isSessionRestored( )sessionId( )saveState()和Session Management

int QApplication.cursorFlashTime ()

QDesktopWidget QApplication.desktop ()

返回桌面窗口小部件(也称为根窗口)。

桌面可以由多个屏幕,因此它是不正确的,例如,以试图center一些小工具在桌面的几何形状。QDesktopWidget具有各种功能的桌面在获得有用的几何形状,如QDesktopWidget.screenGeometry()和QDesktopWidget.availableGeometry( ) 。

在X11上,但也可以绘制在桌面上。

bool QApplication.desktopSettingsAware ()

返回True如果Qt的设置为使用系统的标准颜色,字体等,否则返回False 。默认值为True 。

See also setDesktopSettingsAware( ) 。

int QApplication.doubleClickInterval ()

bool QApplication.event (self, QEvent)

从重新实现QObject.event( ) 。

int QApplication.exec_ ()

进入主事件循环并等待,直到exit()被调用,然后返回被设置为值exit()(它是0,如果exit( )通过调用quit())。

有必要调用这个函数来启动事件处理。主事件循环接收事件从窗口系统并调度这些应用程序的部件。

一般情况下,没有用户交互可以调用exec ( )之前发生。作为一种特殊的情况下,模式对话框喜欢QMessageBox调用exec (之前可以使用) ,因为模式对话框调用exec ( )来启动一个本地事件循环。

为了使您的应用程序执行閒置处理,即执行一个特殊的功能,每当有没有挂起的事件,使用QTimer与0超时。更高级的空閒处理方案可以用来实现processEvents( ) 。

我们建议您清理代码连接到aboutToQuit()信号,而不是把它在你的应用程序,main()功能。这是因为,在某些平台上的QApplication.exec ( )调用可能不会返回。例如,在Windows平台上,当用户注销时,系统终止进程的Qt关闭所有顶层窗口之后。因此,有no guarantee该应用程序将有时间退出事件循环,并执行代码的结束main()功能, QApplication.exec ( )调用之后。

See also quitOnLastWindowClosedquit( )exit( )processEvents()和QCoreApplication.exec( ) 。

QWidget QApplication.focusWidget ()

返回应用程序窗口部件拥有键盘输入焦点,或者0,如果在这个应用程序中没有窗口部件具有焦点。

See also QWidget.setFocus( )QWidget.hasFocus( )activeWindow()和focusChanged( ) 。

QFont QApplication.font ()

返回默认应用程序字体。

See also setFont( )fontMetrics()和QWidget.font( ) 。

QFont QApplication.font (QWidget)

这是一个重载函数。

返回的默认字体widget

See also fontMetrics()和QWidget.setFont( ) 。

QFont QApplication.font (str className)

这是一个重载函数。

返回该字体的指定部件className

See also setFont()和QWidget.font( ) 。

QFontMetrics QApplication.fontMetrics ()

回报显示应用程序的字体(屏)字体度量。

See also font( )setFont( )QWidget.fontMetrics()和QPainter.fontMetrics( ) 。

QSize QApplication.globalStrut ()

QInputContext QApplication.inputContext (self)

返回QInputContext比如所使用的应用程序。

See also setInputContext( ) 。

bool QApplication.isEffectEnabled (Qt.UIEffect)

返回True如果effect被启用,否则返回False 。

默认情况下, Qt会尝试使用桌面设置。为了防止这种情况,请致电setDesktopSettingsAware (假) 。

Note:所有的效果都上不到16位色彩深度运行屏幕禁用。

See also setEffectEnabled()和Qt.UIEffect

bool QApplication.isLeftToRight ()

返回True如果应用程序的布局方向Qt.LeftToRight否则返回False 。

See also layoutDirection()和isRightToLeft( ) 。

bool QApplication.isRightToLeft ()

返回True如果应用程序的布局方向Qt.RightToLeft否则返回False 。

See also layoutDirection()和isLeftToRight( ) 。

bool QApplication.isSessionRestored (self)

返回True如果该应用程序已恢复从以前的session否则返回False 。

See also sessionId( )commitData()和saveState( ) 。

Qt.LayoutDirection QApplication.keyboardInputDirection ()

返回当前的键盘输入方向。

这个函数中引入了Qt 4.2中。

int QApplication.keyboardInputInterval ()

QLocale QApplication.keyboardInputLocale ()

返回当前的键盘输入法区域设置。

这个函数中引入了Qt 4.2中。

Qt.KeyboardModifiers QApplication.keyboardModifiers ()

返回键盘上的组合键的当前状态。目前的状态是合同步更新事件队列被清空,将自发地改变键盘状态的事件(QEvent.KeyPressQEvent.KeyRelease事件)。

应该指出,这可能无法反映所保持的输入设备上的实际按键的时候调用的,而是修饰符作为最后报告在上述事件之一。如果没有键被关押Qt.NoModifier返回。

See also mouseButtons()和queryKeyboardModifiers( ) 。

Qt.LayoutDirection QApplication.layoutDirection ()

Qt.MouseButtons QApplication.mouseButtons ()

返回鼠标上的按钮的当前状态。目前的状态是syncronously更新事件队列被清空,将自发地改变鼠标状态的事件(QEvent.MouseButtonPressQEvent.MouseButtonRelease事件)。

应该指出,这可能不是反映在打电话,而是在鼠标按键作为最后报告在上述事件之一时举行的输入设备上的实际按钮。如果没有鼠标按钮被关押Qt.NoButton返回。

See also keyboardModifiers( ) 。

bool QApplication.notify (self, QObject, QEvent)

从重新实现QCoreApplication.notify( ) 。

QCursor QApplication.overrideCursor ()

返回当前应用程序强制光标。

此函数返回0,如果没有应用程序的光标已经定义(即内部光标栈为空) 。

See also setOverrideCursor()和restoreOverrideCursor( ) 。

QPalette QApplication.palette ()

返回应用程序的调色板。

See also setPalette()和QWidget.palette( ) 。

QPalette QApplication.palette (QWidget)

这是一个重载函数。

如果widget通过,则返回默认调色板中的控件的类。这可能是也可能不是该应用程序的调色板。在大多数情况下,对某些类型的部件没有特别的调色板,但一个值得注意的例外是Windows下的弹出菜单,如果用户已经定义了一个特殊的背景颜色菜单中的显示设置。

See also setPalette()和QWidget.palette( ) 。

QPalette QApplication.palette (str className)

这是一个重载函数。

返回调色板的特定部件className

See also setPalette()和QWidget.palette( ) 。

Qt.KeyboardModifiers QApplication.queryKeyboardModifiers ()

查询并返回键盘上的组合键的状态。不像keyboardModifiers ,此方法返回在调用该方法时所保持的输入设备上的实际按键。

它不依赖于已收到由该过程中,这使得它可以检查改性剂而移动窗口,比如按键事件。请注意,在大多数情况下,你应该使用keyboardModifiers(),这是更快和更精确,因为它包含的改性剂的状态,因为它们是在接收到当前处理的事件时。

此功能被引入Qt的4.8 。

See also keyboardModifiers( ) 。

bool QApplication.quitOnLastWindowClosed ()

QApplication.restoreOverrideCursor ()

撤消上一个setOverrideCursor( ) 。

If setOverrideCursor( )被调用两次,调用的restoreOverrideCursor ( )时将激活第一个光标集。调用此函数第二次恢复原来的小部件'游标。

See also setOverrideCursor()和overrideCursor( ) 。

QApplication.saveState (self, QSessionManager sm)

这个函数处理session management。它被调用时,session manager想让应用程序保存其状态为今后的会议。

例如,文本编辑器会创建一个临时文件,其中包括它的编辑缓冲区,在当前编辑会话的游标等方面的位置的当前内容。

你不应该退出这个函数中的应用。相反,会话管理器可以或可以不这样做之后,这取决于上下文。 Futhermore ,大多数会话管理器很可能会立即要求保存状态的应用程序已经开始之后。这允许会话管理器来了解应用程序的重新启动策略。

Warning:在这个函数中,没有用户交互是可能的,unless你问manager为明确许可。看QSessionManager.allowsInteraction()和QSessionManager.allowsErrorInteraction( )了解详情。

See also isSessionRestored( )sessionId( )commitData()和Session Management

QString QApplication.sessionId (self)

返回当前session's标识符。

如果应用程序已恢复从以前的会话,这个标识符是因为它是在先前的对话一样。会话标识符保证是唯一既为不同的应用程序和同一应用程序的不同实例。

See also isSessionRestored( )sessionKey( )commitData()和saveState( ) 。

QString QApplication.sessionKey (self)

返回在当前会话密钥session

如果应用程序已恢复从以前的会话,这个键是一样的,当前一交易日结束它。

随着每次调用会话密钥的变化commitData()或saveState( ) 。

See also isSessionRestored( )sessionId( )commitData()和saveState( ) 。

QApplication.setActiveWindow (QWidget act)

设置活动窗口到active小工具响应于系统事件。该功能是从特定于平台的事件处理程序调用。

Warning:这个函数not设置键盘焦点到活动部件。通话QWidget.activateWindow( )来代替。

它集activeWindow()和focusWidget( )属性,并发送适当的WindowActivate/WindowDeactivateFocusIn/FocusOut活动以所有适当的部件。该窗口就会处于活跃状态涂漆(如光标在编辑行会闪烁) ,于是也有工具提示启用。

See also activeWindow()和QWidget.activateWindow( ) 。

QApplication.setAutoSipEnabled (self, bool enabled)

这种方法也是一个Qt槽与C + +的签名void setAutoSipEnabled(const bool)

QApplication.setColorSpec (int)

设置颜色规格为应用程序spec

颜色规格控制应用程序在有限的颜色数量的显示器上运行时,如何分配颜色,例如8位/ 256色显示。

您之前创建的颜色规范必须设置QApplication对象。

选项有:

请注意,CustomColorManyColor选择可能导致颜色映射闪烁:前台应用程序获取(大多数)的可用的颜色,而背景窗口会显得那么有吸引力。

例如:

 int main(int argc, char *argv[])
 {
     QApplication.setColorSpec(QApplication.ManyColor);
     QApplication app(argc, argv);
     ...
     return app.exec();
 }

See also colorSpec( ) 。

QApplication.setCursorFlashTime (int)

QApplication.setDesktopSettingsAware (bool)

Qt的设置是否应使用系统的标准颜色,字体等,on。默认情况下,这是事实。

这个函数必须在创建之前调用的QApplication对象,像这样:

 int main(int argc, char *argv[])
 {
     QApplication.setDesktopSettingsAware(false);
     QApplication app(argc, argv);
     ...
     return app.exec();
 }

See also desktopSettingsAware( ) 。

QApplication.setDoubleClickInterval (int)

QApplication.setEffectEnabled (Qt.UIEffect effect, bool enabled = True)

使用户界面效果effect如果enable为真,否则效果将不被使用。

Note:所有的效果都上不到16位色彩深度运行屏幕禁用。

See also isEffectEnabled( )Qt.UIEffectsetDesktopSettingsAware( ) 。

QApplication.setFont (QFont font, str className = None)

更改默认应用程序字体font。如果className通过后,改变只适用于继承类className(所报告的QObject.inherits())。

在应用程序启动时,默认字体依赖于窗口系统。它可以根据这两个窗口系统版本和语言环境而有所不同。此功能可让您复盖默认的字体,但压倒一切的可能是一个坏主意,因为,例如,某些区域设置需要额外的大字体,以支持他们的特殊字符。

Warning:请勿在结合使用此功能Qt Style Sheets。一个应用程序的字体可以使用“字体”样式表属性来定制。要设置粗体所有QPushButtons ,设置应用程序styleSheet()作为“QPushButton【字体:黑体} “

See also font( )fontMetrics()和QWidget.setFont( ) 。

QApplication.setGlobalStrut (QSize)

QApplication.setGraphicsSystem (QString)

设置默认的图形后端system,这将用于在屏幕上的小部件和QPixmaps 。可用的系统"native""raster""opengl"

有几种方法来设置图形后端,以优先级递减的:

如果优先级最高的交换机设置了一个无效的名称,该错误将被忽略,默认后端将被使用。

Warning:此功能之前,唯一有效的QApplication构造函数被调用。

Note:"opengl"选项当前实验。

此功能被引入Qt的4.5 。

QApplication.setInputContext (self, QInputContext)

QInputContext说法有它的所有权转移给Qt的。

此函数替换了QInputContext例如使用与该应用程序inputContext

Qt可以给定所有权inputContext

See also inputContext( ) 。

QApplication.setKeyboardInputInterval (int)

QApplication.setLayoutDirection (Qt.LayoutDirection direction)

QApplication.setOverrideCursor (QCursor)

设置应用程序复盖光标cursor

应用程序强制光标是为了显示该应用程序是在一个特殊的状态,例如,可能需要一段时间的操作过程中的用户。

这将光标直到显示在应用程序的所有窗口部件restoreOverrideCursor()或另一个一个setOverrideCursor ()被调用。

应用程序光标被存储在一个内部堆栈。一个setOverrideCursor ( )推光标入堆栈,并restoreOverrideCursor( )弹出活动光标堆栈。changeOverrideCursor( )改变了活跃的会员...应用复盖光标。

每一个setOverrideCursor ( )最终必须后跟一个相应的restoreOverrideCursor( ),否则栈将永远不会被清空。

例如:

 QApplication.setOverrideCursor(QCursor(Qt.WaitCursor));
 calculateHugeMandelbrot();              // lunch time...
 QApplication.restoreOverrideCursor();

See also overrideCursor( )restoreOverrideCursor( )changeOverrideCursor()和QWidget.setCursor( ) 。

QApplication.setPalette (QPalette palette, str className = None)

更改默认的应用程序调色板palette

If className通过后,改变只适用于继承部件className(所报告的QObject.inherits())。如果className剩下0 ,则更改会影响所有部件,从而复盖任何先前设置的类特定的调色板。

调色板可以根据当前的GUI样式中被改变QStyle.polish( ) 。

Warning:请勿在结合使用此功能Qt Style Sheets。当使用样式表,一个小部件的调色板可以使用“颜色” , “背景色” , “选择颜色” , “选择 - 背景色”和“复用背景色”进行自定义。

Note:有些样式不使用调色板的所有图纸,举例来说,如果他们利用原生主题引擎。这是Windows XP , Windows Vista和Mac OS X的风格的情况下。

See also QWidget.setPalette( )palette()和QStyle.polish( ) 。

QApplication.setQuitOnLastWindowClosed (bool quit)

QApplication.setStartDragDistance (int l)

QApplication.setStartDragTime (int ms)

QApplication.setStyle (QStyle)

QStyle说法有它的所有权转移给Qt的。

设置应用程序的图形用户界面风格style。样式对象的所有权被转移到QApplication,所以QApplication将删除应用程序退出或者当一个新样式设置和旧风格仍然是应用程序对象的父项的样式对象。

用法示例:

 QApplication.setStyle(new QWindowsStyle);

当切换应用的样式,颜色调色板设置恢复到初始的颜色或系统默认值。这是必要的,因为某些样式必须适应调色板是完全风格指南标准。

调色板之前,设置样式已定,即之前创建QApplication,会导致应用程序使用QStyle.standardPalette( )的调色板。

Warning:目前不支持Qt的样式表定制QStyle子类。我们计划在未来的版本解决这个问题。

See also style( )QStylesetPalette()和desktopSettingsAware( ) 。

QStyle QApplication.setStyle (QString)

这是一个重载函数。

请求QStyle对于对象styleQStyleFactory

该字符串必须是一个QStyleFactory.keys() ,典型的“窗口”, 1 , “基序”,“ CDE ”,“ PLASTIQUE ”,“ WindowsXP的”或“苹果” 。样式名不区分大小写。

返回0,如果一个未知style通过,否则QStyle返回的对象被设置为应用程序的图形用户界面风格。

Warning:为了确保应用程序的风格设置是否正确,最好是前调用这个函数QApplication构造函数,如果可能的话。

QApplication.setStyleSheet (self, QString sheet)

这种方法也是一个Qt槽与C + +的签名void setStyleSheet(const QString&)

QApplication.setWheelScrollLines (int)

QApplication.setWindowIcon (QIcon icon)

int QApplication.startDragDistance ()

int QApplication.startDragTime ()

QStyle QApplication.style ()

返回应用程序的样式对象。

See also setStyle() and QStyle.

QString QApplication.styleSheet (self)

QApplication.syncX ()

与同步在X11实现X服务器。这通常需要一些时间。什么都不做在其他平台上。

QWidget QApplication.topLevelAt (QPoint p)

返回顶层窗口部件在给定的point;返回0,如果没有这样的小部件。

QWidget QApplication.topLevelAt (int x, int y)

这是一个重载函数。

返回顶层窗口部件在点(xy) ;返回0 ,如果不存在这样的窗口小部件。

list-of-QWidget QApplication.topLevelWidgets ()

返回顶层窗口小部件(窗口)中的应用程序的列表。

Note:一些顶级小部件可能会被隐藏,例如工具提示,如果没有提示当前显示。

例如:

 void showAllHiddenTopLevelWidgets()
 {
     foreach (QWidget *widget, QApplication.topLevelWidgets()) {
         if (widget->isHidden())
             widget->show();
     }
 }

See also allWidgets( )QWidget.isWindow()和QWidget.isHidden( ) 。

Type QApplication.type ()

返回应用程序的类型(TtyGuiClientGuiServer) 。该类型是施工时设置QApplication对象。

int QApplication.wheelScrollLines ()

QWidget QApplication.widgetAt (QPoint p)

返回小部件在全局屏幕位置point或0,如果没有Qt插件那里。

此功能可能会很慢。

See also QCursor.pos( )QWidget.grabMouse()和QWidget.grabKeyboard( ) 。

QWidget QApplication.widgetAt (int x, int y)

QIcon QApplication.windowIcon ()

bool QApplication.x11EventFilter (self, sip.voidptr)

Warning:这个虚函数仅X11下实现的。

如果你创建一个继承的应用程序QApplication并且重新实现这个功能,你可以直接访问该从X服务器接收到的所有X事件。该事件传递的event参数。

如果你想从被处理停止事件,则返回True 。返回False对于普通事件分派。默认实现返回False 。

这是唯一的解决直接被过滤的邮件。您必须直接在事件调度程序,这是由返回安装一个事件过滤器QAbstractEventDispatcher.instance( ) ,以处理全系统的消息。

See also x11ProcessEvent( ) 。

int QApplication.x11ProcessEvent (self, sip.voidptr)

这个函数做个体X的核心处理event秒,通常由调度Qt的事件到正确的目的地。

它返回1,如果该事件被消耗了特殊处理, 0如果event由正常的处理消耗, -1,如果event是一个无法识别的部件。

See also x11EventFilter( ) 。


Qt Signal Documentation

void commitDataRequest (QSessionManager&)

这是该信号的默认超载。

该信号处理session management。它被发射时的QSessionManager想让应用程序提交的所有数据。

通常,这意味着保存所有打开的文件,从用户得到允许后。此外,您可能需要提供由用户可以取消关机的手段。

你不应该离开这个信号中的应用。相反,会话管理器可以或可以不这样做之后,这取决于上下文。

Warning:在这个信号,无用户交互是可能的,unless你问manager为明确许可。看QSessionManager.allowsInteraction()和QSessionManager.allowsErrorInteraction( )了解详情和用法示例。

Note:您应该使用Qt.DirectConnection连接到这个信号时。

这个函数中引入了Qt 4.2中。

See also isSessionRestored( )sessionId( )saveState()和Session Management

void focusChanged (QWidget *,QWidget *)

这是该信号的默认超载。

这个信号被发射时具有键盘焦点的窗口小部件的改变oldnow,即,因为用户按下Tab键,点击进入小部件或改变活动窗口。两oldnow可以是空指针。

该信号发出后两个部件都经过已经被告知了变化QFocusEvent

这个函数是Qt 4.1中引入。

See also QWidget.setFocus( )QWidget.clearFocus()和Qt.FocusReason

void fontDatabaseChanged ()

这是该信号的默认超载。

这个信号时应用的字体被加载或移除射出。

此功能被引入Qt的4.5 。

See also QFontDatabase.addApplicationFont( )QFontDatabase.addApplicationFontFromData( )QFontDatabase.removeAllApplicationFonts()和QFontDatabase.removeApplicationFont( ) 。

void lastWindowClosed ()

这是该信号的默认超载。

这个信号从发射QApplication.exec( )当最后一个可见的主窗口(即窗口没有父)与Qt.WA_QuitOnClose属性设置是关闭的。

默认情况下,

此功能可以通过设置关闭quitOnLastWindowClosed为False。

See also QWidget.close( ) 。

void saveStateRequest (QSessionManager&)

这是该信号的默认超载。

该信号处理session management。它被调用时,session manager想让应用程序保存其状态为今后的会议。

例如,文本编辑器会创建一个临时文件,其中包括它的编辑缓冲区,在当前编辑会话的游标等方面的位置的当前内容。

你不应该离开这个信号中的应用。相反,会话管理器可以或可以不这样做之后,这取决于上下文。 Futhermore ,大多数会话管理器很可能会立即要求保存状态的应用程序已经开始之后。这允许会话管理器来了解应用程序的重新启动策略。

Warning:在这个函数中,没有用户交互是可能的,unless你问manager为明确许可。看QSessionManager.allowsInteraction()和QSessionManager.allowsErrorInteraction( )了解详情。

Note:您应该使用Qt.DirectConnection连接到这个信号时。

这个函数中引入了Qt 4.2中。

See also isSessionRestored( )sessionId( )commitData()和Session Management




PyQt 4.10.3 for X11 Copyright © Riverbank Computing Ltd and Nokia 2012 Qt 4.8.5