class QIODeviceBase#

QIODevice的基类,提供了描述设备开启模式的标志位。了解更多...

继承者: QTextStreamQIODeviceQSerialPortQNetworkReplyQLocalSocketQAbstractSocketQUdpSocketQTcpSocketQProcessQFileDeviceQSaveFileQFileQTemporaryFileQDataStreamQSslSocketQBufferQCoapReplyQCoapResourceDiscoveryReplyQBluetoothSocket

注意

本文档可能包含从C++自动转换为Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译存在问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建工单来告诉我们。

详细说明#

OpenModeFlag#

(继承自 enum.Flag) 此枚举用于与 open() 配合使用,以描述设备打开的模式。它还由 openMode() 返回。

常量

描述

QIODeviceBase.NotOpen

设备未打开。

QIODeviceBase.ReadOnly

设备处于可读状态。

QIODeviceBase.WriteOnly

设备处于可写状态。注意,对于文件系统子类(例如 QFile ),此模式暗示Truncate,除非与ReadOnly、Append或NewOnly组合。

QIODeviceBase.ReadWrite

设备处于可读写状态。

QIODeviceBase.Append

以追加模式打开设备,以便将所有数据写入文件的末尾。

QIODeviceBase.Truncate

如果可能,在打开设备之前将其截断。设备的所有早期内容都将丢失。

QIODeviceBase.Text

读取时,将换行符终止符转换为‘\n’。写入时,将换行符终止符转换为本地编码,例如Win32的‘\r\n’。

QIODeviceBase.Unbuffered

绕过设备中的任何缓冲区。

QIODeviceBase.NewOnly

如果要打开的文件已存在,则失败。只有在文件不存在时才创建和打开文件。操作系统保证您是唯一创建和打开文件的人。请注意,此模式暗示WriteOnly,并且允许与ReadWrite组合。此标志目前仅影响 QFile 。其他类可能在未来使用此标志,但在那时,除了 QFile 之外使用此标志可能会导致未定义的行为。(自Qt 5.11起)

QIODeviceBase.ExistingOnly

如果要打开的文件不存在,则失败。此标志必须与ReadOnly、WriteOnly或ReadWrite一起指定。请注意,仅使用ReadOnly与该标志是冗余的,因为当文件不存在时,ReadOnly已失败。此标志目前仅影响 QFile 。其他类可能在未来使用此标志,但在那时,除了 QFile 之外使用此标志可能会导致未定义的行为。(自Qt 5.11起)

某些标志,如UnbufferedTruncate,在使用某些子类时没有意义。这些限制中的一些是由子类表示的设备类型暗示的。在其他情况下,限制可能是由实现引起的,或者可能是由底层平台强加的;例如,QTcpSocket不支持Unbuffered模式,而本地API的限制阻止了QFile在Windows上支持Unbuffered