PySide6.QtCore.QCoreApplication¶
- class QCoreApplication¶
QCoreApplication
类为没有用户界面的 Qt 应用程序提供事件循环。更多…继承者:
QGuiApplication
,QApplication
概要¶
属性¶
applicationNameᅟ
- 此应用程序的名称applicationVersionᅟ
- 此应用程序的版本organizationDomainᅟ
- 编写此应用程序的组织的互联网域名organizationNameᅟ
- 编写此应用程序的组织的名称quitLockEnabledᅟ
- 是否使用QEventLoopLocker功能可能导致应用程序退出
方法¶
def
__init__()
def
exec_()
def
shutdown()
虚拟方法¶
def
notify()
信号¶
静态函数¶
def
addLibraryPath()
def
applicationPid()
def
arguments()
def
closingDown()
def
exec()
def
exit()
def
instance()
def
libraryPaths()
def
postEvent()
def
processEvents()
def
quit()
def
sendEvent()
def
setAttribute()
def
startingUp()
def
testAttribute()
def
translate()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
此类用于非GUI应用程序以提供其事件循环。对于使用Qt的非GUI应用程序,应该只有一个
QCoreApplication
对象。对于GUI应用程序,请参见QGuiApplication。对于使用Qt Widgets模块的应用程序,请参见QApplication。QCoreApplication
包含主事件循环,处理并分发来自操作系统(例如,定时器和网络事件)和其他来源的所有事件。它还处理应用程序的初始化和终止,以及系统范围和应用程序范围的设置。事件循环和事件处理¶
事件循环通过调用
exec()
启动。长时间运行的操作可以调用processEvents()
以保持应用程序的响应性。通常,我们建议您尽早地在
main()
函数中创建一个QCoreApplication
、QGuiApplication或QApplication对象。exec()
在事件循环退出之前不会返回;例如,当调用quit()
时。还提供了几个静态便利函数。
QCoreApplication
对象可以通过instance()
获取。事件可以通过sendEvent()
发送,或者通过postEvent()
发布到事件队列中。挂起的事件可以通过removePostedEvents()
移除,或者通过sendPostedEvents()
分发。该类提供了一个
quit()
槽和一个aboutToQuit()
信号。应用程序和库路径¶
一个应用程序有一个
applicationDirPath()
和一个applicationFilePath()
。库路径(参见QLibrary
)可以通过libraryPaths()
获取,并通过setLibraryPaths()
、addLibraryPath()
和removeLibraryPath()
进行操作。国际化和翻译¶
可以使用
installTranslator()
和removeTranslator()
来添加或删除翻译文件。应用程序字符串可以使用translate()
进行翻译。tr()
函数是基于translate()
实现的。访问命令行参数¶
传递给
QCoreApplication
构造函数的命令行参数应使用arguments()
函数访问。注意
QCoreApplication
移除选项-qmljsdebugger="..."
。它解析qmljsdebugger
的参数,然后移除该选项及其参数。对于更高级的命令行选项处理,创建一个
QCommandLineParser
。区域设置¶
在Unix/Linux系统上,Qt默认配置为使用系统的区域设置。这在使用POSIX函数时可能会导致冲突,例如,在浮点数和字符串等数据类型之间进行转换时,因为不同区域的表示法可能不同。为了解决这个问题,可以在初始化QApplication、QGuiApplication或
QCoreApplication
之后立即调用POSIX函数setlocale(LC_NUMERIC,"C")
,以将用于数字格式化的区域设置重置为“C”区域。另请参阅
QAbstractEventDispatcher
QEventLoop
使用信号量的生产者和消费者 使用等待条件的生产者和消费者- class ApplicationFlags¶
在版本4.8中添加。
注意
当使用
from __feature__ import true_property
时,属性可以直接使用,否则通过访问器函数使用。- property applicationNameᅟ: str¶
此属性保存此应用程序的名称。
应用程序名称用于各种Qt类和模块中,最显著的是在使用默认构造函数构造
QSettings
时。其他用途包括格式化日志输出(参见qSetMessagePattern()
),在QCommandLineParser
的输出中,在QTemporaryDir
和QTemporaryFile
的默认路径中,以及在QStandardPaths
的一些文件位置中。Qt D-Bus、可访问性和XCB平台集成也使用应用程序名称。如果未设置,应用程序名称默认为可执行文件名称。
- Access functions:
- property applicationVersionᅟ: str¶
此属性保存此应用程序的版本。
如果未设置,应用程序版本默认为从主应用程序可执行文件或包确定的平台特定值(自 Qt 5.9 起):
平台
来源
Windows(经典桌面)
VERSIONINFO资源的PRODUCTVERSION参数
macOS, iOS, tvOS, watchOS
信息属性列表的CFBundleVersion属性
Android
AndroidManifest.xml 清单元素的 android:versionName 属性
在其他平台上,默认值为空字符串。
- Access functions:
- property organizationDomainᅟ: str¶
此属性保存编写此应用程序的组织的互联网域名。
该值在
QSettings
类使用默认构造函数构造时使用。这避免了每次创建QSettings
对象时重复此信息。在Mac上,如果
QSettings
的organizationDomain()不是空字符串,则使用它作为组织;否则使用organizationName()
。在所有其他平台上,QSettings
使用organizationName()
作为组织。- Access functions:
- property organizationNameᅟ: str¶
此属性保存编写此应用程序的组织的名称。
该值在
QSettings
类使用默认构造函数构造时使用。这避免了每次创建QSettings
对象时重复此信息。在Mac上,如果
organizationDomain()
不是空字符串,QSettings
会使用它作为组织;否则会使用organizationName()。在所有其他平台上,QSettings
使用organizationName()作为组织。- Access functions:
- property quitLockEnabledᅟ: bool¶
此属性表示使用
QEventLoopLocker
功能是否会导致应用程序退出。当此属性为
true
时,最后一个剩余的QEventLoopLocker
在应用程序上的释放将尝试退出应用程序。请注意,尝试退出可能不一定会导致应用程序退出,例如如果仍有打开的窗口,或者
Quit
事件被忽略。默认是
true
。另请参阅
QEventLoopLocker
- Access functions:
- __init__()¶
- __init__(args)
- Parameters:
args – 字符串列表
构建一个Qt内核应用程序。内核应用程序是没有图形用户界面的应用程序。这类应用程序通常用于控制台或作为服务器进程。
args 参数由应用程序处理,并通过
arguments()
方法以更方便的形式提供。- aboutToQuit()¶
当应用程序即将退出主事件循环时,例如当事件循环级别降至零时,会发出此信号。这可能发生在应用程序内部调用
quit()
之后,或者当用户关闭整个桌面会话时。如果您的应用程序需要进行一些最后一秒的清理工作,这个信号特别有用。请注意,在此状态下无法进行任何用户交互。
注意
此时主事件循环仍在运行,但在返回时不会处理进一步的事件,除了通过
deleteLater()
删除的对象的DeferredDelete
事件。如果需要事件处理,请使用嵌套事件循环或手动调用processEvents()
。另请参阅
- static addLibraryPath(path)¶
- Parameters:
路径 – 字符串
将
path
添加到库路径列表的开头,确保首先搜索该路径以查找库。如果path
为空或已在路径列表中,则路径列表不会更改。默认路径列表包含一个或两个条目。第一个是插件的安装目录,即
INSTALL/plugins
,其中INSTALL
是Qt的安装目录。第二个是应用程序自己的目录(不是当前目录),但只有在QCoreApplication
对象实例化之后。当
QCoreApplication
的实例被销毁时,库路径将重置为默认值。- static applicationDirPath()¶
- Return type:
字符串
返回包含应用程序可执行文件的目录。
例如,如果您已将Qt安装在
C:\Qt
目录中,并且您运行了regexp
示例,此函数将返回“C:/Qt/examples/tools/regexp”。在macOS和iOS上,这将指向实际包含可执行文件的目录,该目录可能位于应用程序包内(如果应用程序已打包)。
警告
在Linux上,此函数将尝试从
/proc
文件系统中获取路径。如果失败,它假设argv[0]
包含可执行文件的绝对文件名。该函数还假设应用程序没有更改当前目录。- static applicationFilePath()¶
- Return type:
字符串
返回应用程序可执行文件的路径。
例如,如果您已将Qt安装在
/usr/local/qt
目录中,并且您运行了regexp
示例,此函数将返回“/usr/local/qt/examples/tools/regexp/regexp”。警告
在Linux上,此函数将尝试从
/proc
文件系统中获取路径。如果失败,它假设argv[0]
包含可执行文件的绝对文件名。该函数还假设应用程序没有更改当前目录。另请参阅
- static applicationName()¶
- Return type:
字符串
另请参阅
属性
applicationNameᅟ
的获取器。- applicationNameChanged()¶
属性
applicationNameᅟ
的通知信号。- static applicationPid()¶
- Return type:
整数
返回应用程序的当前进程ID。
- static applicationVersion()¶
- Return type:
字符串
属性
applicationVersionᅟ
的获取器。- applicationVersionChanged()¶
属性
applicationVersionᅟ
的通知信号。- static arguments()¶
- Return type:
字符串列表
返回命令行参数的列表。
通常 arguments().at(0) 是程序名称,arguments().at(1) 是第一个参数,arguments().last() 是最后一个参数。请参阅下面关于 Windows 的说明。
调用此函数速度较慢 - 在解析命令行时,您应将结果存储在变量中。
警告
在Unix上,此列表是从传递给main()函数中的构造函数的argc和argv参数构建的。argv中的字符串数据使用
fromLocal8Bit()
进行解释;因此,例如,在运行于Latin1语言环境的系统上,无法传递日语命令行参数。大多数现代Unix系统没有此限制,因为它们是基于Unicode的。在Windows上,只有在修改后的argv/argc参数传递给构造函数时,列表才会从argc和argv参数构建。在这种情况下,可能会出现编码问题。
否则,arguments() 是从 GetCommandLine() 的返回值构造的。因此,arguments().at(0) 给出的字符串可能不是 Windows 上的程序名称,具体取决于应用程序的启动方式。
- checkPermission(permission)¶
- Parameters:
权限 –
QBluetoothPermission
- Return type:
检查给定
permission
的状态如果结果是
Undetermined
,则应通过requestPermission()
请求权限以确定用户的意图。另请参阅
requestPermission()
应用程序权限- checkPermission(permission)
- Parameters:
权限 –
QCalendarPermission
- Return type:
检查给定
permission
的状态如果结果是
Undetermined
,则应通过requestPermission()
请求权限以确定用户的意图。另请参阅
requestPermission()
应用程序权限- checkPermission(permission)
- Parameters:
权限 –
QCameraPermission
- Return type:
检查给定
permission
的状态如果结果是
Undetermined
,则应通过requestPermission()
请求权限以确定用户的意图。另请参阅
requestPermission()
应用程序权限- checkPermission(permission)
- Parameters:
权限 –
QContactsPermission
- Return type:
检查给定
permission
的状态如果结果是
Undetermined
,则应通过requestPermission()
请求权限以确定用户的意图。另请参阅
requestPermission()
应用程序权限- checkPermission(permission)
- Parameters:
权限 –
QLocationPermission
- Return type:
检查给定
permission
的状态如果结果是
Undetermined
,则应通过requestPermission()
请求权限以确定用户的意图。另请参阅
requestPermission()
应用程序权限- checkPermission(permission)
- Parameters:
- Return type:
检查给定
permission
的状态如果结果是
Undetermined
,则应通过requestPermission()
请求权限以确定用户的意图。另请参阅
requestPermission()
应用程序权限- checkPermission(permission)
- Parameters:
权限 –
QPermission
- Return type:
检查给定
permission
的状态如果结果是
Undetermined
,则应通过requestPermission()
请求权限以确定用户的意图。另请参阅
requestPermission()
应用程序权限- static closingDown()¶
- Return type:
布尔
如果应用程序对象正在被销毁,则返回
true
;否则返回false
。另请参阅
- static eventDispatcher()¶
- Return type:
返回指向主线程的事件分发器对象的指针。如果该线程没有事件分发器,此函数将返回
None
。另请参阅
- static exec()¶
- Return type:
整数
进入主事件循环并等待直到调用
exit()
。返回传递给exit()
的值(如果通过quit()
调用exit()
,则该值为0)。需要调用此函数以启动事件处理。主事件循环从窗口系统接收事件并将这些事件分派给应用程序小部件。
要使您的应用程序执行空闲处理(通过在没有任何挂起事件时执行特殊函数),请使用具有0ns超时的
QChronoTimer
。更高级的空闲处理方案可以通过使用processEvents()
来实现。我们建议您将清理代码连接到
aboutToQuit()
信号,而不是将其放在应用程序的main()
函数中,因为在某些平台上,exec()调用可能不会返回。例如,在Windows上,当用户注销时,系统会在Qt关闭所有顶层窗口后终止进程。因此,不能保证应用程序有时间退出其事件循环并在exec()调用后执行main()
函数末尾的代码。另请参阅
quit()
exit()
processEvents()
exec()
- exec_()¶
- Return type:
整数
- static exit([retcode=0])¶
- Parameters:
retcode – int
告诉应用程序以返回代码退出。
调用此函数后,应用程序将离开主事件循环并从对
exec()
的调用中返回。exec()
函数返回returnCode
。如果事件循环未运行,则此函数不执行任何操作。按照惯例,
returnCode
为 0 表示成功,任何非零值表示错误。最佳实践是始终使用
QueuedConnection
将信号连接到此槽。如果在控制进入主事件循环之前(例如在“int main”调用exec()
之前)发出连接到该槽的信号(非队列),则该槽无效,应用程序永远不会退出。使用队列连接可确保在控制进入主事件循环之前不会调用该槽。请注意,与同名的C库函数不同,此函数确实会返回到调用者——停止的是事件处理。
还要注意,这个函数不是线程安全的。它应该只从主线程(
QCoreApplication
对象正在处理事件的线程)调用。要从另一个线程请求应用程序退出,可以使用quit()
,或者使用QMetaMethod::invokeMethod()从主线程调用此函数。- installNativeEventFilter(filterObj)¶
- Parameters:
filterObj –
QAbstractNativeEventFilter
为应用程序在主线程中接收的所有本地事件安装事件过滤器
filterObj
。事件过滤器
filterObj
通过其nativeEventFilter()
函数接收事件,该函数在主线程中接收到的所有原生事件时被调用。如果事件应该被过滤,即停止,
nativeEventFilter()
函数应返回 true。它应返回 false 以允许正常的 Qt 处理继续:然后可以将本机事件转换为QEvent
并由标准的 Qtevent
过滤处理,例如installEventFilter()
。如果安装了多个事件过滤器,最后安装的过滤器将首先被激活。
注意
这里设置的过滤器函数接收原生消息,即MSG或XCB事件结构体。
注意
当设置了
AA_PluginApplication
属性时,应用程序中的原生事件过滤器将被禁用。为了最大程度的可移植性,您应始终尽可能尝试使用
QEvent
和installEventFilter()
。另请参阅
- static installTranslator(messageFile)¶
- Parameters:
messageFile –
QTranslator
- Return type:
布尔
将翻译文件
translationFile
添加到用于翻译的翻译文件列表中。可以安装多个翻译文件。翻译文件的搜索顺序与安装顺序相反,因此最后安装的翻译文件会最先被搜索,而最先安装的翻译文件会最后被搜索。一旦找到包含匹配字符串的翻译,搜索就会停止。
安装或移除一个
QTranslator
,或更改已安装的QTranslator
,会为QCoreApplication
实例生成一个LanguageChange
事件。QApplication实例会将事件传播到所有顶层窗口部件,其中重新实现的changeEvent可以通过tr()
函数将用户可见的字符串传递给相应的属性设置器来重新翻译用户界面。由Qt Widgets Designer生成的用户界面类提供了一个可以调用的retranslateUi()
函数。函数成功时返回
true
,失败时返回 false。注意
QCoreApplication
不会获取translationFile
的所有权。另请参阅
removeTranslator()
translate()
load()
准备 动态 语言 更改
- static instance()¶
- Return type:
返回指向应用程序的
QCoreApplication
(或QGuiApplication/QApplication)实例的指针。如果没有分配实例,则返回
None
。- static isQuitLockEnabled()¶
- Return type:
布尔
属性
quitLockEnabledᅟ
的获取器。- static isSetuidAllowed()¶
- Return type:
布尔
- static libraryPaths()¶
- Return type:
字符串列表
返回应用程序在动态加载库时将搜索的路径列表。
此函数的返回值在创建
QCoreApplication
时可能会发生变化。不建议在创建QCoreApplication
之前调用它。如果已知,应用程序可执行文件的目录(不是工作目录)是列表的一部分。为了使它已知,必须构造一个QCoreApplication
,因为它将使用argv[0]
来找到它。Qt 提供了默认的库路径,但也可以使用 qt.conf 文件来设置路径。在此文件中指定的路径将覆盖默认值。请注意,如果 qt.conf 文件位于应用程序可执行文件的目录中,则在创建
QCoreApplication
之前可能无法找到它。如果在调用此函数时未找到该文件,则将使用默认的库路径。如果存在插件的安装目录,列表将包括该目录(插件的默认安装目录是
INSTALL/plugins
,其中INSTALL
是Qt的安装目录)。QT_PLUGIN_PATH
环境变量的冒号分隔条目总是被添加。当应用程序可执行文件的目录已知时,插件的安装目录(及其存在)可能会发生变化。另请参阅
setLibraryPaths()
addLibraryPath()
removeLibraryPath()
QLibrary
如何 创建 Qt 插件
将
event
发送到receiver
:receiver
->event(event
)。返回从接收者的事件处理程序返回的值。请注意,此函数用于发送到任何线程中任何对象的所有事件。对于某些类型的事件(例如鼠标和键盘事件),如果接收者对事件不感兴趣(即返回
false
),事件将传播到接收者的父对象,依此类推,直到顶级对象。有五种不同的方式可以处理事件;重新实现这个虚函数只是其中之一。下面列出了所有五种方法:
重新实现 paintEvent()、mousePressEvent() 等。这是最常见、最简单但功能最弱的方式。
重新实现此函数。这非常强大,提供了完全的控制;但一次只能有一个子类处于活动状态。
在
instance()
上安装事件过滤器。这样的事件过滤器能够处理所有小部件的所有事件,因此它与重新实现notify()一样强大;此外,还可以有多个应用程序全局事件过滤器。全局事件过滤器甚至可以看到禁用小部件的鼠标事件。请注意,应用程序事件过滤器仅为主线程中的对象调用。重新实现
event()
(如 QWidget 所做的那样)。如果你这样做,你将获得 Tab 键的按下事件,并且你可以在任何特定小部件的事件过滤器之前看到这些事件。在对象上安装事件过滤器。这样的事件过滤器会获取所有事件,包括Tab和Shift+Tab按键事件,只要它们不改变焦点小部件。
未来方向: 在Qt 7中,此函数将不会为主线程之外的对象调用。需要此功能的应用程序在此期间应寻找其他解决方案来满足其事件检查需求。此更改可能会扩展到主线程,导致此函数被弃用。
警告
如果你重写这个函数,你必须确保所有处理事件的线程在你的应用程序对象开始销毁之前停止这样做。这包括你可能使用的其他库启动的线程,但不适用于Qt自己的线程。
- static organizationDomain()¶
- Return type:
字符串
属性
organizationDomainᅟ
的获取器。- organizationDomainChanged()¶
属性
organizationDomainᅟ
的通知信号。- static organizationName()¶
- Return type:
字符串
属性
organizationNameᅟ
的获取器。- organizationNameChanged()¶
属性
organizationNameᅟ
的通知信号。- static postEvent(receiver, event[, priority=Qt.NormalEventPriority])¶
将事件
event
添加到事件队列中,并将对象receiver
作为事件的接收者,然后立即返回。事件必须分配在堆上,因为事件发布队列将取得事件的所有权,并在事件发布后删除它。在事件发布后访问事件是不安全的。
当控制返回到主事件循环时,队列中存储的所有事件将使用
notify()
函数发送。事件按
priority
降序排列,即priority
较高的事件排在priority
较低的事件之前。priority
可以是任何整数值,即在INT_MAX和INT_MIN之间,包括这两个值;更多详情请参见EventPriority
。具有相同priority
的事件将按发布顺序处理。- static processEvents([flags=QEventLoop.AllEvents])¶
- Parameters:
flags –
ProcessEventsFlag
的组合
根据指定的
flags
处理调用线程的一些待处理事件。不推荐使用此函数。相反,建议将长时间操作从GUI线程移动到辅助线程中,并完全避免嵌套事件循环处理。如果确实需要事件处理,请考虑使用
QEventLoop
代替。如果您正在运行一个本地循环,该循环在没有事件循环的情况下连续调用此函数,则
DeferredDelete
事件将不会被处理。这可能会影响依赖于DeferredDelete
事件以正常工作的部件的行为,例如QToolTip。另一种方法是从该本地循环中调用sendPostedEvents()
。调用此函数仅处理调用线程的事件,并在处理完所有可用事件后返回。可用事件是在函数调用之前排队的事件。这意味着在函数运行时发布的事件将被排队,直到下一轮事件处理。
另请参阅
exec()
QTimer
QChronoTimer
processEvents()
sendPostedEvents()
- static processEvents(flags, deadline)
- Parameters:
flags –
ProcessEventsFlag
的组合deadline –
QDeadlineTimer
这是一个重载函数。
处理调用线程的待处理事件,直到
deadline
到期,或者直到没有更多事件需要处理,以先发生者为准。不推荐使用此函数。相反,建议将长时间的操作从GUI线程移动到辅助线程中,并完全避免嵌套事件循环处理。如果确实需要事件处理,请考虑使用
QEventLoop
代替。调用此函数仅处理调用线程的事件。
注意
与
processEvents()
重载不同,此函数还会处理在函数运行期间发布的事件。- static processEvents(flags, maxtime)
- Parameters:
flags –
ProcessEventsFlag
的组合maxtime – int
这是一个重载函数。
为调用线程处理挂起的事件,持续
ms
毫秒,或者直到没有更多事件需要处理,以较短者为准。这相当于调用:
QCoreApplication::processEvents(flags, QDeadlineTimer(ms));
- static quit()¶
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
请求应用程序退出。
如果应用程序阻止退出,例如如果其中一个窗口无法关闭,则请求可能会被忽略。应用程序可以通过处理应用程序级别的
Quit
事件或各个窗口的Close
事件来影响这一点。如果退出未被中断,应用程序将以返回代码0(成功)退出。
要退出应用程序而不被中断,请直接调用
exit()
。请注意,该方法不是线程安全的。最佳实践是始终使用
QueuedConnection
将信号连接到此槽。如果在控制进入主事件循环之前(例如在“int main”调用exec()
之前)发出连接到该槽的信号(非队列),则该槽无效,应用程序永远不会退出。使用队列连接可确保在控制进入主事件循环之前不会调用该槽。示例:
quitButton = QPushButton("Quit") quitButton.clicked.connect(app.quit, Qt::QueuedConnection)
线程安全说明:此函数可以从任何线程调用,以线程安全的方式导致当前正在运行的主应用程序循环退出。但是,如果在同一时间
QCoreApplication
对象正在被销毁,则不能保证线程安全。另请参阅
- static removeLibraryPath(path)¶
- Parameters:
路径 – 字符串
从库路径列表中移除
path
。如果path
为空或不在路径列表中,则列表不会更改。当
QCoreApplication
的实例被销毁时,库路径将重置为默认值。- removeNativeEventFilter(filterObj)¶
- Parameters:
filterObj –
QAbstractNativeEventFilter
从此对象中移除一个事件
filterObject
。如果未安装此类事件过滤器,则忽略该请求。当此对象被销毁时,此对象的所有事件过滤器将自动移除。
即使在事件过滤器激活期间(即从nativeEventFilter()函数中),删除事件过滤器也始终是安全的。
移除所有使用
postEvent()
为receiver
发布的给定eventType
的事件。事件不会被分发,而是从队列中移除。你通常不需要调用这个函数。如果你确实调用了它,请注意,终止事件可能会导致
receiver
破坏一个或多个不变量。如果
receiver
是None
,则移除所有对象的eventType
事件。如果eventType
是 0,则移除receiver
的所有事件。你永远不应该在eventType
为 0 时调用此函数。- static removeTranslator(messageFile)¶
- Parameters:
messageFile –
QTranslator
- Return type:
布尔
从该应用程序使用的翻译文件列表中移除翻译文件
translationFile
。(它不会从文件系统中删除翻译文件。)函数成功时返回
true
,失败时返回 false。- requestPermission(permission, context, functor)¶
- Parameters:
权限 –
QBluetoothPermission
context –
QObject
函子 –
PyCallable
- requestPermission(permission, context, functor)
- Parameters:
权限 –
QCalendarPermission
context –
QObject
函子 –
PyCallable
- requestPermission(permission, context, functor)
- Parameters:
权限 –
QCameraPermission
context –
QObject
函子 –
PyCallable
- requestPermission(permission, context, functor)
- Parameters:
权限 –
QContactsPermission
context –
QObject
函子 –
PyCallable
- requestPermission(permission, context, functor)
- Parameters:
权限 –
QLocationPermission
context –
QObject
函子 –
PyCallable
- requestPermission(permission, context, functor)
- Parameters:
context –
QObject
函子 –
PyCallable
- resolveInterface(name, revision)¶
- Parameters:
name – str
revision – int
- Return type:
void
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
使用
notify()
函数将事件event
直接发送给接收者receiver
。返回事件处理程序返回的值。事件在发送后不会被删除。通常的做法是在堆栈上创建事件,例如:
event = QMouseEvent(QEvent.MouseButtonPress, pos, 0, 0, 0) QApplication.sendEvent(mainWindow, event)
另请参阅
- static sendPostedEvents([receiver=None[, event_type=0]])¶
- Parameters:
receiver –
QObject
event_type – int
立即分派所有先前使用
postEvent()
排队的事件,这些事件是针对对象receiver
并且具有事件类型event_type
的。来自窗口系统的事件不是由此函数分发的,而是由
processEvents()
分发的。如果
receiver
是None
,则event_type
的事件会发送给所有对象。如果event_type
是 0,则所有事件都会发送给receiver
。- static setApplicationName(application)¶
- Parameters:
application – str
另请参阅
属性
applicationNameᅟ
的设置器。- static setApplicationVersion(version)¶
- Parameters:
版本 – str
另请参阅
属性
applicationVersionᅟ
的设置器。- static setAttribute(attribute[, on=true])¶
- Parameters:
属性 –
ApplicationAttribute
on – 布尔值
- static setEventDispatcher(eventDispatcher)¶
- Parameters:
eventDispatcher –
QAbstractEventDispatcher
将主线程的事件调度器设置为
eventDispatcher
。这只有在尚未安装事件调度器时才可能实现。也就是说,在QCoreApplication
实例化之前。此方法拥有该对象的所有权。另请参阅
- static setLibraryPaths(paths)¶
- Parameters:
paths – 字符串列表
设置在使用
QLibrary
加载插件时要搜索的目录列表为paths
。所有现有的路径将被删除,路径列表将由paths
中给出的路径和应用程序的路径组成。当
QCoreApplication
的实例被销毁时,库路径将重置为默认值。- static setOrganizationDomain(orgDomain)¶
- Parameters:
orgDomain – str
另请参阅
属性
organizationDomainᅟ
的设置器。- static setOrganizationName(orgName)¶
- Parameters:
orgName – str
另请参阅
属性
organizationNameᅟ
的设置器。- static setQuitLockEnabled(enabled)¶
- Parameters:
enabled – 布尔值
另请参阅
属性
quitLockEnabledᅟ
的设置器。- static setSetuidAllowed(allow)¶
- Parameters:
allow – 布尔值
- shutdown()¶
- static startingUp()¶
- Return type:
布尔
如果尚未创建应用程序对象,则返回
true
;否则返回false
。另请参阅
- static testAttribute(attribute)¶
- Parameters:
属性 –
ApplicationAttribute
- Return type:
布尔
- static translate(context, key[, disambiguation=None[, n=-1]])¶
- Parameters:
context – str
key – str
disambiguation – str
n – 整数
- Return type:
字符串
返回
sourceText
的翻译文本,通过查询已安装的翻译文件。翻译文件从最近安装的文件开始搜索,直到第一个安装的文件。tr()
更方便地提供了这个功能。context
通常是一个类名(例如,“MyDialog”),而sourceText
是英文文本或简短的标识文本。disambiguation
是一个标识字符串,用于在同一上下文中使用相同的sourceText
时区分不同的角色。默认情况下,它是None
。请参阅
QTranslator
和tr()
文档,了解更多关于上下文、消除歧义和注释的信息。n
与%n
结合使用以支持复数形式。详情请参见tr()
。如果没有任何翻译文件包含
sourceText
在context
中的翻译,此函数将返回一个等同于sourceText
的QString
。此函数不是虚拟的。您可以通过子类化
QTranslator
来使用替代的翻译技术。另请参阅
tr()
installTranslator()
removeTranslator()
国际化 和 翻译