很简单的代码如下:
QString dir = "/SW/project/pub/test/surv/line/seis";
QString s =
QFileDialog::getOpenFileName(this, "Open", dir, "*.*");
运行时如下:
然后我选择别的
目录, 单击Look in后的
QComboBox(只是单击,目录还
没有变),
却更改了QTreeWidget中的内容(很明显是另一个目录的文件), 如下:
并且有如下警告:QTreeView::rowsInserted internal representation of the model has been corrupted, resetting.
有谁遇到这种
问题? 请指教。
解决方法: 把 QString s = QFileDialog::getOpenFileName(this, "Open", dir, "*.*"); 改成 QString s = QFileDialog::getOpenFileName(this, "Open", dir, "seismic data(*.sgy);;all file(*.*)"); 注:如果是QString s = QFileDialog::getOpenFileName(this, "Open", dir, "all file(*.*);;seismic data(*.sgy)"); 还是会出现以上问题。//表面看起来是不能把*.*放在过滤器的第一个位置。 具体原因未知。