QFileDialog:选择文件后添加后缀
QFileDialog: add suffix after selecting file
在QFileDialog::AcceptSave
接受模式下,我需要在QFileDialog
中为所选文件名添加后缀。例如,在QFileDialog中选择"1.txt"文件后,编辑应该选择"1_suffix.txt"。它应该在接受文件之前添加,因为我需要用户在应用文件之前能够更改文件名。
代码:
m_dialog.setAcceptMode(QFileDialog::AcceptSave);
m_dialog.setWindowModality(Qt::WindowModal);
m_dialog.setFileMode(QFileDialog::AnyFile);
m_dialog.setDefaultSuffix("_suffix");
if(m_dialog.exec() == QFileDialog::Accept)
{
setPath(m_dialog.selectedFiles()[0]);
}
通常,QFileDialog
会显示平台文件对话框。为了获得您想要的行为,您需要使用特定于平台的机制;Qt没有实现这样的功能。
如果您使用的是非本机文件对话框,您可以检查其结构,以找到您想要的小部件,过滤它们上的相关事件,并注入您需要的行为。
尝试扩展QFileDialog并订阅QFileDialogs信号
void fileSelected(QString file)
void currentChanged(QString path)
这可能是一个开始。
相关文章:
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- 如何在C++中从两个单独的for循环中添加两个数组
- 增量运算符与后缀混淆
- POCO::PostgreSQL:如何将std::vector支持添加到`Binder::bind`
- 如何仅为一个函数添加延迟
- 如何防止 c++ 在从浮点型转换为双精度型(不适用于 IO)时添加额外的小数?
- 使用std::transform将一个范围的元素添加到另一个范围中
- 如何将更多文件夹添加到c++include路径
- 如何将元素添加到数组的线程安全函数?
- QT通过C++添加映射QML项目
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- 如何使用重载的相等(==)运算符向测试用例添加描述
- 为什么Mat类的两个对象可以在不重载运算符+的情况下添加
- 如何防止clang格式在流运算符调用之间添加换行符<<
- 只能向C++添加一定数量的字符
- 如何在OpenSSL库的名称中添加后缀'd'?
- C++:如何在"for"循环中动态地向文本行添加后缀以创建先前声明的变量
- 为文件名添加唯一后缀
- CMake如何知道将哪些前缀和后缀添加到共享库中?
- QFileDialog:选择文件后添加后缀