[megoldva]QT fájlútvonal probléma

 ( Anonymous | 2010. október 6., szerda - 20:06 )

Sziasztok!

Belefutottam egy QT-s érdekességbe, ami azért annyira nem pozitív érdekesség:
írtam egy alkalmazást munkahelyre. No persze itthon, linux alatt (cégnél Windows van).
A GUI tartalmaz egy gombot, ami megnyomás után kilöki a "mappa megadása" című ablakot, kijelölöd a kimeneti mappát, majd az ablak bezáródása után ezt a célt megjeleníti egy szövegbeviteli mezőben.

Kiadtam neki hát:

qmake -spec win32-g++
make

Le is fordult, ám amikor a cégnél elindítottam a Windows rendszeren, akkor ezen a beviteli mezőben ezt látom:

C:/valami/

ahelyett, hogy ezt látnám:

C:\valami\

Hoppáré, gondoltam, meglesem a qmake.conf-ot, s ott átlököm a separátort. Átlöktem, továbbra is a régi...
A dolgot megoldottam egy string replace-el (nem szép megoldás, de gyorsan kellett a progi, tűzoltásként jó volt), szóval most megy, de a jövőben azért ezzel nem akarok kínlódni.

A kérdés:
A QT házatáján kellene keresnem a megoldást, vagy a mingw32-nél?

A segítséget előre is megköszönöm!

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Qt "/" -t használ nálam is Win alatt, szóval ez nem csak nálad fordul elő. Gondolom én, hogy Win és Linux "kompatibilitás" érdekében használja ezt.
---------------------------
Oszt jónapot!

Voltam olyan dőre, hogy nem próbáltam ki, működne-e vele így, hanem rögtön faragtam a kódon. Nálad működnek így az útvonalak, vagy Te is rákényszerülsz az egyéb megoldásokra?

Nálam működnek. Esetleg csak kiírásnál kell formálni, QDir, QFile -okba a "/" megoldást kell adni (Lehet működik "\"-al is).
---------------------------
Oszt jónapot!

van egy ffmpeg indítás is benne, így valszeg muszáj formálnom.
Lentebb viszont kaptunk megoldást :)

QChar QDir::separator () [static]

Returns the native directory separator: "/" under Unix (including Mac OS X) and "\" under Windows.

You do not need to use this function to build file paths. If you always use "/", Qt will translate your paths to conform to the underlying operating system. If you want to display paths to the user using their operating system's separator use toNativeSeparators().

----

QString QDir::toNativeSeparators ( const QString & pathName ) [static]

Returns pathName with the '/' separators converted to separators that are appropriate for the underlying operating system.

On Windows, toNativeSeparators("c:/winnt/system32") returns "c:\winnt\system32".

The returned string may be the same as the argument on some operating systems, for example on Unix.

This function was introduced in Qt 4.2.

Köszönöm szépen! :)