本文介绍了Qt QFileDialog--仅具有静态函数的本机对话框?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我只是在尝试保存一个文件。但是,我需要输入一个不带后缀的文件名来自动获得默认后缀(setDefaultSuffix()就是这样做的)。
我不想因为这个而完全失去本机保存对话框。Exec()不是从QDialog重载的,因此它完全绕过本机挂钩(忽略DontUseNativeDialog选项,即使该选项为False)。
如果我禁用文件覆盖警告,并在函数返回后自己添加默认后缀,那么如果用户不想覆盖...,我将重新打开对话框。这太难看了。是否有一些信号可以捕获并快速注入默认后缀(如果它不存在)?我猜不是,因为这是本机对话。
我的筛选器有什么问题吗?我只有一个过滤器选择。它应该使用该扩展名。
这看起来很差劲。启动保存对话框并简单地输入"test"应该永远不会产生一个无扩展的文件。"测试。",是的。"测试"不可能。当用户点击加载并且看不到他们刚刚保存的文件时,这真的会让他们感到困惑。
我猜Qt的跨平台部分给了我最小的共性文件对话框功能?
推荐答案
是的,如果您查看Qt源代码,很明显只有静态函数使用本机文件对话框。遗憾的是,无法以任何其他方式获取本机对话框...
这篇关于Qt QFileDialog--仅具有静态函数的本机对话框?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!