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起)某些标志,如
Unbuffered
和Truncate
,在与某些子类一起使用时是无意义的。这些限制中的一些是由子类所代表的设备类型所暗示的。在其他情况下,限制可能是由于实现的原因,或者可能是由底层平台强加的;例如,QTcpSocket不支持Unbuffered
模式,并且本地API的限制阻止了QFile
在Windows上支持Unbuffered
。