- 主题:QFileDiaglog::getExistingDirectory反应时间过长
界面上用了一个复选框 checkbox
打上勾直接打开目录那个对话框
void MainWindow::on_chkLocal_stateChanged(int arg1)
{
if(arg1)
{
QDir oQDCurDir = QDir::currentPath();
QString oQStrPath = QFileDialog::getExistingDirectory(this, "Local data path ...", oQDCurDir.absolutePath(), QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks );
QDebug() << oQStrPath;
}
}
每次点击这个复选框之后程序要反应一下 转个圈圈才能弹出对话框 是用法不对吗
--
FROM 58.128.3.*
是不是 windows 的问题。。因为 windows 有一堆的 explorer 插件。
【 在 scanworld (臭蛋超人) 的大作中提到: 】
: 界面上用了一个复选框 checkbox
: 打上勾直接打开目录那个对话框
: void MainWindow::on_chkLocal_stateChanged(int arg1)
: ...................
--
FROM 59.60.56.*
google里得到的结果和你猜测的类似 然后我默默打开了一个windows自带的软件 发现都会转一下 可能比我的程序转的时间短一点
【 在 hgoldfish 的大作中提到: 】
: 是不是 windows 的问题。。因为 windows 有一堆的 explorer 插件。
:
--
FROM 58.128.3.*
有个办法,可以用 qt 自带的文件对话框。
最后一个 option 参数加上` | QFileDialog::DontUseNativeDialog` 这个值就行了。
【 在 scanworld (臭蛋超人) 的大作中提到: 】
: google里得到的结果和你猜测的类似 然后我默默打开了一个windows自带的软件 发现都会转一下 可能比我的程序转的时间短一点
--
FROM 59.60.56.*
这个尝试过 转就不会出现了 但是仍然会延时一下才打开 不知道是不是要读文件系统那些个工作的原因
另外遭遇了一个问题 静态调用这个目录函数后 用QString的实例.isNull()判断是否通cancel或直接点x关闭 这里出错了 QString的实例不允许操作的样子 程序断了之后直接重定位到vector头文件里去了
【 在 hgoldfish 的大作中提到: 】
: 有个办法,可以用 qt 自带的文件对话框。
: 最后一个 option 参数加上` | QFileDialog::DontUseNativeDialog` 这个值就行了。
:
--
FROM 58.128.3.*
判断 .isNull() 出错。。多半是你的代码问题。。比如你用了引用付给其它函数?
【 在 scanworld (臭蛋超人) 的大作中提到: 】
: 这个尝试过 转就不会出现了 但是仍然会延时一下才打开 不知道是不是要读文件系统那些个工作的原因
: 另外遭遇了一个问题 静态调用这个目录函数后 用QString的实例.isNull()判断是否通cancel或直接点x关闭 这里出错了 QString的实例不允许操作的样子 程序断了之后直接重定位到vector头文件里去了
--
FROM 59.60.56.*
代码就是我发上来的那部分 后边加了一个 if(oQStrPath.isNull())
是判断方式不对吗 oQStrPath不是个动态的
【 在 hgoldfish 的大作中提到: 】
: 判断 .isNull() 出错。。多半是你的代码问题。。比如你用了引用付给其它函数?
:
--
FROM 58.128.3.*
再仔细看看吧。。一般还是程序员自己的问题。
另外我比较推荐 QString::isEmpty() 判断字符串是否为空字符串。而非 isNull()
【 在 scanworld (臭蛋超人) 的大作中提到: 】
: 代码就是我发上来的那部分 后边加了一个 if(oQStrPath.isNull())
: 是判断方式不对吗 oQStrPath不是个动态的
--
FROM 59.60.56.*
发现了 是后边一个遍历目录的函数 因为QString没值 遍历目录函数编译逻辑上没法通过
【 在 hgoldfish 的大作中提到: 】
: 再仔细看看吧。。一般还是程序员自己的问题。
: 另外我比较推荐 QString::isEmpty() 判断字符串是否为空字符串。而非 isNull()
:
--
FROM 58.128.3.*
QString lireReg(const QString & poQStr = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography");
QSettings oQSettings(poQStr, QSettings::NativeFormat);
return oQSettings.value("MachineGuid",QVariant()).toString();
这么读是不是不正确 读的内容是""
--
FROM 123.122.158.*