Bug#1071943: QFileDialog: Non-Native dialog is very slow, regressions again.
Package: libqt6widgets6t64
Version: 6.4.2+dfsg-21.1+b1
Severity: normal
Dear Maintainer,
I wrote program QFileDialog to select file(s).
With non-native dialog (Qt owned, not Desktop-Environment's), this is very slow.
This widget eats a lot of CPU time usage at creating , also move to some directories.
--- Sample ---
#include <QFileDialog>
void foo::open_dialog(QString& _dir, QStringList& _filter_list)
{
QFileDialog* dlg = new QFileDialog(nullptr);
dlg->setAttribute(Qt::WA_DeleteOnClose, true);
dlg->setOption(QFileDialog::ReadOnly, (is_save) ? false : true);
dlg->setOption(QFileDialog::DontUseCustomDirectoryIcons, true);
dlg->setAcceptMode(QFileDialog::AcceptOpen);
dlg->setFileMode(QFileDialog::ExistingFile);
// [1]
dlg->setOption(QFileDialog::DontUseNativeDialog, true);
// [2]
//dlg->setViewMode(QFileDialog::Detail);
dlg->setViewMode(QFileDialog::List);
// Below connection is sample.Any slots may exist.
connect(dlg, SIGNAL(fileSelected(QString)), this, SLOT(read_file(QString)));
connect(dlg, SIGNAL(finished(int)), this, SLOT(finished_dialog_slot(int)));
connect(dlg, SIGNAL(destroyed()), this, SLOT(close_dialog_slot()));
dlg->setDirectory(_dir);
dlg->setNameFilters(_filter_list);
dlg->setModal(false);
dlg->open();
}
--- END SAMPLE ---
This regression don't happen with Qt 5.x, at least 5.15.
# I forgot for older minor version, i.e. 5.6 ...
But, with Qt 6.x (also 6.2! not only 6.4!), this regression always happenes.
[1] When this option set to false, use theme's file-selector (i.e. Gtk, Mate, XDG...).
[2] Set with both List and Detail, seems to be no difference.
Best regards,
Kyuma Ohta.
*** Reporter, please consider answering these questions, where appropriate ***
* What led up to the situation?
* What exactly did you do (or not do) that was effective (or
ineffective)?
* What was the outcome of this action?
* What outcome did you expect instead?
*** End of the template - remove these template lines ***
-- System Information:
Debian Release: trixie/sid
APT prefers unstable-debug
APT policy: (500, 'unstable-debug'), (500, 'stable-security'), (500, 'oldstable-security'), (500, 'unstable'), (1, 'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 6.9.1-homebrew-15.1-amd64 (SMP w/12 CPU threads; PREEMPT)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=ja_JP.UTF-8, LC_CTYPE=ja_JP.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages libqt6widgets6t64 depends on:
ii libc6 2.38-11
ii libgcc-s1 14.1.0-1
ii libqt6core6t64 [qt6-base-abi] 6.4.2+dfsg-21.1+b1
ii libqt6gui6t64 6.4.2+dfsg-21.1+b1
ii libstdc++6 14.1.0-1
libqt6widgets6t64 recommends no packages.
libqt6widgets6t64 suggests no packages.
-- debconf-show failed
Reply to: