1. QT_NO_CAST_FROM_ASCII prohíbe la conversión automática de punteros o cadenas de estilo del lenguaje C a Unicode.
char cc[] = "hello";
QString str = cc;
debug str;
QString str2 = "hello";
debug str2;
Aquí está la conversión, el puntero de carácter de estilo del lenguaje C:
const char * p = "hello";
Y la cadena de estilo en lenguaje C cc [] en un QString, agregue en el archivo pro:
DEFINES += QT_NO_CAST_FROM_ASCII
Después de eso, tales conversiones estarán prohibidas:
2. QT_RESTRICTED_CAST_FROM_ASCII prohíbe la conversión de matrices y permite que los punteros se conviertan a Unicode.
3. QT_NO_CAST_TO_ASCII prohíbe la operación de convertir QString en una cadena C.
La operación de inserción de QByteArray llamará a toAscii () de QChar para convertir QString en una cadena C e insertarla en QByteArray. Una vez habilitada esta macro, esta operación está prohibida. De manera similar, se prohíbe agregar QString, insertar QString, reemplazar QString, + = QString está prohibido, indexOf QString está prohibido y lastIndexOf QString está prohibido.