Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Zaibatsu от Июль 28, 2009, 13:11



Название: QFileDialog работает ооочень медленно [РЕШЕНО]
Отправлено: Zaibatsu от Июль 28, 2009, 13:11
Когда открываю QFileDialog:

Код
C++ (Qt)
QFileDialog dialog(this);
dialog.setFileMode(QFileDialog::AnyFile);
dialog.setViewMode(QFileDialog::Detail);
dialog.setAcceptMode(QFileDialog::AcceptOpen);
dialog.setResolveSymlinks( false );
dialog.exec()

он очень медленно считывает список файлов в директории и долго переходит от одной папки к другой.
Есть идеи?  ???

p.s. windows xp + visual studio 2008 + qt 4.4.3


Название: Re: QFileDialog работает ооочень медленно
Отправлено: ecspertiza от Июль 28, 2009, 13:58
А ты попробуй открывать как в ассистенте написано
Код:
 QString fileName = QFileDialog::getOpenFileName(this,
     tr("Open file"), "/home/jana", "");


Название: Re: QFileDialog работает ооочень медленно
Отправлено: Авварон от Июль 28, 2009, 14:00
а я бы посмотрел в сторону QFileDialog::DontUseNativeDialog


Название: Re: QFileDialog работает ооочень медленно
Отправлено: Zaibatsu от Июль 28, 2009, 14:12
А ты попробуй открывать как в ассистенте написано
Код:
 QString fileName = QFileDialog::getOpenFileName(this,
     tr("Open file"), "/home/jana", "");


спасибо, так работает

а я бы посмотрел в сторону QFileDialog::DontUseNativeDialog

флаг DontUseNativeDialog можно установить только у :
Код
C++ (Qt)
QString getExistingDirectory ( QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(), Options options = ShowDirsOnly )
QString getOpenFileName ( QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(), const QString & filter = QString(), QString * selectedFilter = 0, Options options = 0 )
QStringList getOpenFileNames ( QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(), const QString & filter = QString(), QString * selectedFilter = 0, Options options = 0 )
QString getSaveFileName ( QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(), const QString & filter = QString(), QString * selectedFilter = 0, Options options = 0 )
а они сами собой уже как предложил(а) ecspertiza =) вобщем в любом случае [РЕШЕНО]


Название: Re: QFileDialog работает ооочень медленно [РЕШЕНО]
Отправлено: Авварон от Июль 28, 2009, 14:15
почему только? эти ф-ии лишь статические обертки на созданный руками класс. юз void setOption ( Option option, bool on = true )


Название: Re: QFileDialog работает ооочень медленно
Отправлено: pastor от Июль 28, 2009, 14:22
а я бы посмотрел в сторону QFileDialog::DontUseNativeDialog

А чем это поможет? QFileDialog (не статические функции) и так является не нативным диалогом.