c++ - gui - Qt equivalente a PathAppend?
qt license (1)
No existe esa función, pero QDir::cleanPath()
manejará todo lo que necesita, solo debe concatenar las rutas:
QString appendPath(const QString& path1, const QString& path2)
{
return QDir::cleanPath(path1 + QDir::separator() + path2);
}
Utilicé QDir::separator()
lugar de raw "/" pero no es obligatorio porque QT internamente traduce ese separador al nativo (si es necesario, consulte la forma multiplataforma de construir una ruta FS con Qt ).
Tenga en cuenta que (para quienes tienen un fondo .NET) existe otra función similar: Path.Combine()
, se comporta de alguna manera similar a PathAppend()
pero es diferente. Ver ¿Hay un QPath :: Combine ()? para una emulación QT de su comportamiento (y para una descripción un poco más detallada de sus diferencias).
PathAppend es una útil función de winapi que le permite agregar una ruta a otra mientras se ocupa de las barras invertidas posteriores (o la falta de ellas).
Lo que significa que "/dir1"
a "dir2"
, o "/dir1"
a "/dir2"
, o "/dir1/"
a "/dir2"
produciría el mismo resultado (correcto) - "/dir1/dir2"
( mientras que simplemente concatening produciría respectivamente "/dir1dir2"
, "/dir1/dir2"
, y "/dir1//dir2"
).
¿Hay alguna función de Qt que haga algo similar?