PySide6.QtCore.QIODeviceBase

class QIODeviceBase

QIODevice 的基类,提供描述设备打开模式的标志。更多

继承自: QTextStream, QIODevice, QSerialPort, QNetworkReply, QLocalSocket, QAbstractSocket, QUdpSocket, QTcpSocket, QWaveDecoder, QProcess, QFileDevice, QSaveFile, QFile, QTemporaryFile, QDataStream, QSslSocket, QBuffer, QCoapReply, QCoapResourceDiscoveryReply, QBluetoothSocket

注意

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

详细描述

class OpenModeFlag

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

常量

描述

QIODeviceBase.NotOpen

设备未打开。

QIODeviceBase.ReadOnly

设备已打开以供读取。

QIODeviceBase.WriteOnly

设备以只写模式打开。请注意,对于文件系统子类(例如 QFile),此模式意味着截断,除非与 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