QString path = QFileDialog::getOpenFileName(this,tr("文件列表"),
"E:/pro",tr("Text Files(*.pit)"));*/
这段代码,在windows下运行时,打开对话框后进入我的电脑,再点击选择的硬盘(例如本地磁盘:(E))就会弹错:
操作系统是win7.
ASSERT: "ret.at(0).isLetter()" in file io/qfilesystemengine_win.cpp, line 565
Invalid parameter passed to C runtime function.
Invalid parameter passed to C runtime function.
进入其他的文件夹没有这个问题。如果代码换成
QStringList paths = QFileDialog::getOpenFileNames(this,tr("文件列表"),
"E:/pro",tr("Text Files(*.pit)"));
也没有问题。
求高人解惑。。。。。
另外,如果我想在打开的对话框中增加删除文件的选项,有什么好的办法,因为程序需要用触屏操作,所有鼠标右击文件
行不通,是不是只能再创一个文件对话框实现文件的删除。
------解决思路----------------------
/p写成//p试试
------解决思路----------------------
应该不是这段问题,是这段后面的代码问题?
------解决思路----------------------
这样的话,只能靠你慢慢调了,或者你试着一点点减少代码,看看是什么导致的。
------解决思路----------------------
ASSERT: "ret.at(0).isLetter()" in file io/qfilesystemengine_win.cpp, line 565
Invalid parameter passed to C runtime function.
Invalid parameter passed to C runtime function.
--------------------------------------------------------------------
进入其他的文件夹没有这个问题。如果代码换成
QStringList paths = QFileDialog::getOpenFileNames(this,tr("文件列表"),
"E:/pro",tr("Text Files(*.pit)"));
也没有问题。
--------------------------------------------------------------------------------------
从错误提示,和你没有问题的语句来看,函数返回的应该是个串的列表,把列表赋给串是有问题的。