Sur cette page

QIODeviceBase Class

Classe de base pour ` QIODevice ` qui fournit des indicateurs décrivant le mode dans lequel un périphérique est ouvert. En savoir plus…

En-tête : #include <QIODevice>
CMake : find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake : QT += core
Hérité par :

QDataStream, QDebug, QIODevice et QTextStream

Types publics

flags OpenMode
enum OpenModeFlag { NotOpen, ReadOnly, WriteOnly, ReadWrite, Append, …, ExistingOnly }

Fonctions protégées

Description détaillée

Documentation sur les types de membres

enum QIODeviceBase::OpenModeFlag
flags QIODeviceBase::OpenMode

Cette énumération est utilisée avec la fonction ` QIODevice::open()` pour décrire le mode d'ouverture d'un périphérique. Elle est également renvoyée par la fonction ` QIODevice::openMode()`.

ConstanteValeurDescription
QIODeviceBase::NotOpen0x0000Le périphérique n'est pas ouvert.
QIODeviceBase::ReadOnly0x0001Le périphérique est ouvert en lecture.
QIODeviceBase::WriteOnly0x0002Le périphérique est ouvert en écriture. Notez que, pour les sous-classes de système de fichiers (par exemple QFile), ce mode implique « Truncate » (tronquer) à moins d’être combiné avec « ReadOnly » (lecture seule), « Append » (ajout) ou « NewOnly » (nouveau uniquement).
QIODeviceBase::ReadWriteReadOnly | WriteOnlyLe périphérique est ouvert en lecture et en écriture.
QIODeviceBase::Append0x0004Le périphérique est ouvert en mode « append » (ajout), de sorte que toutes les données sont écrites à la fin du fichier.
QIODeviceBase::Truncate0x0008Si possible, le périphérique est tronqué avant d’être ouvert. Tout le contenu antérieur du périphérique est perdu.
QIODeviceBase::Text0x0010Lors de la lecture, les caractères de fin de ligne sont convertis en «\n ». Lors de l’écriture, les caractères de fin de ligne sont convertis selon l’encodage local, par exemple «\r\n » pour Win32.
QIODeviceBase::Unbuffered0x0020Tout tampon présent dans le périphérique est ignoré.
QIODeviceBase::NewOnly0x0040Échec si le fichier à ouvrir existe déjà. Création et ouverture du fichier uniquement s’il n’existe pas. Le système d’exploitation garantit que vous êtes le seul à créer et à ouvrir le fichier. Notez que ce mode implique le mode « WriteOnly » et qu’il est possible de le combiner avec le mode « ReadWrite ». Cet indicateur n’affecte actuellement que la classe ` QFile`. D’autres classes pourraient l’utiliser à l’avenir, mais d’ici là, son utilisation avec des classes autres que ` QFile ` peut entraîner un comportement indéfini. (depuis Qt 5.11)
QIODeviceBase::ExistingOnly0x0080Échoue si le fichier à ouvrir n’existe pas. Cet indicateur doit être spécifié en même temps que ReadOnly, WriteOnly ou ReadWrite. Notez que l’utilisation de cet indicateur avec ReadOnly seul est redondante, car ReadOnly échoue déjà lorsque le fichier n’existe pas. Cet indicateur n’affecte actuellement que QFile. D’autres classes pourraient utiliser cet indicateur à l’avenir, mais d’ici là, son utilisation avec des classes autres que QFile peut entraîner un comportement indéfini. (depuis Qt 5.11)

Certains indicateurs, tels que ` Unbuffered ` et ` Truncate`, n’ont aucun sens lorsqu’ils sont utilisés avec certaines sous-classes. Certaines de ces restrictions découlent du type de périphérique représenté par une sous-classe. Dans d’autres cas, la restriction peut être due à l’implémentation ou imposée par la plate-forme sous-jacente ; par exemple, QTcpSocket ne prend pas en charge le mode « Unbuffered », et des limitations de l’API native empêchent QFile de prendre en charge « Unbuffered » sous Windows.

Le type `OpenMode` est un `typedef` pour ` QFlags<OpenModeFlag>`. Il stocke une combinaison OR de valeurs `OpenModeFlag`.

Documentation des fonctions membres

[constexpr noexcept protected default] QIODeviceBase::~QIODeviceBase()

Supprime l'instance de ` QIODeviceBase`.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.