QT开发技术【QFileDialog卡顿问题】
一、直接用QFileDialog 在window 一般卡顿7秒
qDebug() << "begin:" << QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss.zzz");QDateTime sTime = QDateTime::currentDateTime();QString str = QFileDialog::getOpenFileName(nullptr, "", "", "*.*", nullptr);ui->lineEdit->setText(str);qDebug() << "end:" << QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss.zzz");qDebug() << "run sec:" << sTime.secsTo(QDateTime::currentDateTime());
这里测试卡13秒 恶心
二、增加标志解决 QFileDialog::DontUseNativeDialog
qDebug() << "begin:" << QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss.zzz");QDateTime sTime = QDateTime::currentDateTime();QString str = QFileDialog::getOpenFileName(nullptr, "", "", "*.*", nullptr, QFileDialog::DontUseNativeDialog);ui->lineEdit->setText(str);qDebug() << "end:" << QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss.zzz");qDebug() << "run sec:" << sTime.secsTo(QDateTime::currentDateTime());
这里的4秒是启动的时候还是会白屏一下。
不使用原生选项 dialog 比较丑陋 但是大大减小了卡顿