标题:Qt QFileDialog::getSaveFileName响应慢
作者:lwei24
日期:2022-04-28 16:23
内容:
如题,在一个QPushButton点击事件的槽函数里添加一个如下的接口:
void CustomDialog::onClickedBtnExportXls()
{
QString fileName = QFileDialog::getSaveFileName(this, QString("另存为"), "", tr("All Files (*.csv)"));
qWarning()
#1 [spygg 04-28 21:35]
因为选择文件的时候会尝试兼容网络文件上的文件,传参时候加上Qt::AA_DontUseNativeDialogs 好像就行了
#2 回 spygg 的帖子 [lwei24 04-29 11:15]
spygg:因为选择文件的时候会尝试兼容网络文件上的文件,传参时候加上Qt::AA_DontUseNativeDialogs 好像就行了 (2022-04-28 21:35)
请问你说的这个参数Qt::AA_DontUseNativeDialogs 是要在哪里设置呢?
#3 [meteorliu 04-29 11:42]
可以试下行不,或者是不是电脑太老了
QString fileName = QFileDialog::getSaveFileName(this, QString("另存为"), "", tr("All Files (*.csv)"), Q_NULLPTR, QFileDialog::ShowDirsOnly);
#4 回 meteorliu 的帖子 [lwei24 04-29 14:24]
meteorliu:可以试下行不,或者是不是电脑太老了
QString fileName = QFileDialog::getSaveFileName(this, QString("另存为"), "", tr("All Files (*.csv)"), Q_NULLPTR, QFileDialog::ShowDirsOnly); (2022-04-29 11:42)
的确,现在win7 专业版的service pack1。刚刚试了你说的方法,对比和之前差不多,也是点击按钮,然后鼠标会转圈,等一下就出来了。一般情况下,不是有阻塞事件的时候才会出现时间等待吗?但只是点击按钮打开一个保存对话框,它怎么也会有这种现象呢?又没有用到线程……
#5 回 lwei24 的帖子 [spygg 05-02 17:18]
lwei24:请问你说的这个参数Qt::AA_DontUseNativeDialogs 是要在哪里设置呢? (2022-04-29 11:15)
l刘典武大佬的武林秘籍里面有说
QFileDialog *fileDialog = new QFileDialog(this);
fileDialog->setOption(QFileDialog::DontUseNativeDialog, true);