- class QIODeviceBase#
是
QIODevice
的基类,提供了描述设备开启模式的标志位。了解更多...继承者:
QTextStream
,QIODevice
,QSerialPort
,QNetworkReply
,QLocalSocket
,QAbstractSocket
,QUdpSocket
,QTcpSocket
,QProcess
,QFileDevice
,QSaveFile
,QFile
,QTemporaryFile
,QDataStream
,QSslSocket
,QBuffer
,QCoapReply
,QCoapResourceDiscoveryReply
,QBluetoothSocket
注意
本文档可能包含从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起)某些标志,如
Unbuffered
和Truncate
,在使用某些子类时没有意义。这些限制中的一些是由子类表示的设备类型暗示的。在其他情况下,限制可能是由实现引起的,或者可能是由底层平台强加的;例如,QTcpSocket不支持Unbuffered
模式,而本地API的限制阻止了QFile
在Windows上支持Unbuffered
。