- 主题:QFileDiaglog::getExistingDirectory反应时间过长
是不是 windows 的问题。。因为 windows 有一堆的 explorer 插件。
【 在 scanworld (臭蛋超人) 的大作中提到: 】
: 界面上用了一个复选框 checkbox
: 打上勾直接打开目录那个对话框
: void MainWindow::on_chkLocal_stateChanged(int arg1)
: ...................
--
FROM 59.60.56.*
有个办法,可以用 qt 自带的文件对话框。
最后一个 option 参数加上` | QFileDialog::DontUseNativeDialog` 这个值就行了。
【 在 scanworld (臭蛋超人) 的大作中提到: 】
: google里得到的结果和你猜测的类似 然后我默默打开了一个windows自带的软件 发现都会转一下 可能比我的程序转的时间短一点
--
FROM 59.60.56.*
判断 .isNull() 出错。。多半是你的代码问题。。比如你用了引用付给其它函数?
【 在 scanworld (臭蛋超人) 的大作中提到: 】
: 这个尝试过 转就不会出现了 但是仍然会延时一下才打开 不知道是不是要读文件系统那些个工作的原因
: 另外遭遇了一个问题 静态调用这个目录函数后 用QString的实例.isNull()判断是否通cancel或直接点x关闭 这里出错了 QString的实例不允许操作的样子 程序断了之后直接重定位到vector头文件里去了
--
FROM 59.60.56.*
再仔细看看吧。。一般还是程序员自己的问题。
另外我比较推荐 QString::isEmpty() 判断字符串是否为空字符串。而非 isNull()
【 在 scanworld (臭蛋超人) 的大作中提到: 】
: 代码就是我发上来的那部分 后边加了一个 if(oQStrPath.isNull())
: 是判断方式不对吗 oQStrPath不是个动态的
--
FROM 59.60.56.*
抄一段代码给你。
QString getMachineId()
{
#ifdef Q_OS_LINUX
QFile file;
file.setFileName("/var/lib/dbus/machine-id");
if (!file.open(QIODevice::ReadOnly)) {
file.setFileName("/etc/machine-id");
if (!file.open(QIODevice::ReadOnly)) {
return QString();
}
}
return QString::fromLocal8Bit(file.readAll()).trimmed();
#elif defined(Q_OS_WIN)
QSettings m("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography",
QSettings::NativeFormat);
return m.value("MachineGuid").toString().trimmed();
#elif defined(Q_OS_OPENBSD)
QFile file;
file.setFileName("/etc/machine-id");
if (!file.open(QIODevice::ReadOnly)) {
return QString();
}
return QString::fromLocal8Bit(file.readAll()).trimmed();
#elif defined(Q_OS_MAC)
#endif
return QString();
}
【 在 scanworld (臭蛋超人) 的大作中提到: 】
: QString lireReg(const QString & poQStr = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography");
: QSettings oQSettings(poQStr, QSettings::NativeFormat);
: return oQSettings.value("MachineGuid",QVariant()).toString();
: ...................
--
FROM 110.81.13.*
你打开注册表编辑器看一下,看是什么情况。
你是用我的代码返回空值,还是你的代码返回空值?
【 在 scanworld (臭蛋超人) 的大作中提到: 】
: 感谢分享 我现在单一windows上 返回一直是空值
--
FROM 60.188.58.*