我对一个简单的程序有疑问。我以这种方式打开 QFileDialog :
QFileDialog fileDialog(this);
fileDialog.setAcceptMode(QFileDialog::AcceptOpen);
if (!fileDialog.exec())
return;
但是,它显示了一个 Qt 对话框,而不是本机 Windows 对话框。我使用的是 Windows 7 x64,我真的更喜欢原生对话框而不是 Qt 对话框,因为它有点花哨。但是我读过,我发现这可以通过使用来改变:
fileDialog.setOption(QFileDialog::DontUseNativeDialog, false);
事实是我没有得到本机 Windows 对话框,而是 Qt 对话框,所以该选项不起作用......任何人都知道如何在不使用静态成员的情况下解决这个问题?
我真的不想使用静态成员,因为它们存在某种内存泄漏问题或其他问题,因为如果您使用静态成员反复打开新对话框,则程序使用的内存会增加和增加,但是,使用先前存储的对话框用指针就没有这个问题。
所以,如果有人对这两个问题(本机对话和内存泄漏问题)都有答案,请告诉我。
谢谢。