我有一个简单程序的问题。我是这样打开QFileDialog的:
QFileDialog fileDialog(this);
fileDialog.setAcceptMode(QFileDialog::AcceptOpen);
if (!fileDialog.exec())
return;
然而它显示了一个Qt对话框,而不是本机的Windows对话框。我使用的是Windows 7 x64,我真的更喜欢本机对话框,因为它有点更加花哨。但是我已经阅读并发现可以通过使用以下方式进行更改:
fileDialog.setOption(QFileDialog::DontUseNativeDialog, false);
事实是我没有得到本机Windows 对话框,而是Qt对话框,所以那个选项不起作用...有人知道如何解决这个问题而不使用静态成员吗?我不想使用静态成员,因为它们存在一种内存泄漏问题或者说如果你重复使用带有静态成员的新对话框,程序使用的内存会增加,然而,使用先前使用指针存储的对话框就没有这个问题。
所以,如果有人对这两个问题(本地对话框和内存泄漏问题)有答案,请告诉我。
谢谢。