Opened 5 years ago

Closed 10 months ago

#298 closed defect (fixed)

QFileSystemModel::directoryLoaded() signal passes a drive root as x: not x:/

Reported by: KO Myung-Hun Owned by:
Priority: major Milestone: Qt 5
Component: General Version: 4.7.3
Severity: medium Keywords:



When connecting directoryLoaded() signal, a drive root is passed to a slot as x: not x:/.

Actually, x:/ is passed on Qt for Windows.

For example, see the following code snippets.

    QFileSystemModel* model = new QFileSystemModel;
    connect(model, SIGNAL(directoryLoaded(QString)),
            this, SLOT(directoryLoaded(QString)));


    QTreeView *treeView = new QTreeView;

And if a current directory is x:/path/to/dir, then slot directoryLoaded() receives a directory in this order.

  1. x:
  2. x:/path
  3. x:/path/to
  4. x:/path/to/dir

However, on Windows

  1. x:/
  2. x:/path
  3. x:/path/to
  4. x:/path/to/dir

I think, Windows is right. Because x: is not a fully-qualified path and it means a current directory of x: drive.

Change History (3)

comment:1 Changed 3 years ago by Silvan Scherrer

Milestone: Qt EnhancedQt4 4.7.3 rerelease

comment:2 Changed 20 months ago by Silvan Scherrer

Milestone: Qt4 4.7.3 rereleaseQt 5

Ticket retargeted after milestone closed

comment:3 Changed 10 months ago by Silvan Scherrer

Resolution: fixed
Status: newclosed

iirc this is fixed in qt5. if not please open a ticket at

Note: See TracTickets for help on using tickets.