首页 > 编程语言 >Qt应用程序使用QFileDialog前可以如此设置更通用更规范噢(一个直接拿来用的静态函数)

Qt应用程序使用QFileDialog前可以如此设置更通用更规范噢(一个直接拿来用的静态函数)

时间:2022-12-16 17:46:33浏览次数:42  
标签:firstDialog Qt mimeTypeFilters 应用程序 supportedMimeTypes QFileDialog acceptMode di

 

static void initializeImageFileDialog(QFileDialog &dialog, QFileDialog::AcceptMode acceptMode)
{
static bool firstDialog = true;

//设置文件对话框的打开目录为系统图片标准位置
if (firstDialog) {
firstDialog = false;
const QStringList picturesLocations = QStandardPaths::standardLocations(QStandardPaths::PicturesLocation);
dialog.setDirectory(picturesLocations.isEmpty() ? QDir::currentPath() : picturesLocations.last());
}

QStringList mimeTypeFilters;
const QByteArrayList supportedMimeTypes = acceptMode == QFileDialog::AcceptOpen
? QImageReader::supportedMimeTypes() : QImageWriter::supportedMimeTypes();
for (const QByteArray &mimeTypeName : supportedMimeTypes)
mimeTypeFilters << mimeTypeName;
//mimeTypeFilters.append(mimeTypeName);
mimeTypeFilters.sort();
dialog.setMimeTypeFilters(mimeTypeFilters);
dialog.selectMimeTypeFilter("image/jpeg");
dialog.setAcceptMode(acceptMode);
if (acceptMode == QFileDialog::AcceptSave)
dialog.setDefaultSuffix("jpg");//设置默认文件后缀
}

标签:firstDialog,Qt,mimeTypeFilters,应用程序,supportedMimeTypes,QFileDialog,acceptMode,di
From: https://www.cnblogs.com/zdt168/p/16987941.html

相关文章

  • Qt设置软件的使用期限--转
    https://blog.csdn.net/qq_37033647/article/details/128001563 作者:billy版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处前言当我们发布商......
  • Qt5.15-windows安装(解决Network error while downloading问题)
    ​​文章目录​​1项目场景:​​​​2问题描述:​​​​3原因分析:​​​​4解决方案:​​​​4.1下载fiddlereverywhere以及qt在线下载器​​​​4.2在fiddlereverywh......
  • Qt实现编辑器
    TextEdit::TextEdit(QWidget*parent):QMainWindow(parent){setToolButtonStyle(Qt::ToolButtonFollowStyle);setupFileActions();setupEditActions()......
  • QT实现绘图器
    #include<QtWidgets>#ifndefQT_NO_PRINTER#include<QPrinter>#include<QPrintDialog>#endif#include"scribblearea.h"ScribbleArea::ScribbleArea(QWidget*parent)......
  • Qt之模拟键盘按下
     相关资料:https://www.ngui.cc/el/814378.html?action=onClick 一、前言最近在做QWT开发的时候碰到一个问题,QwtPlotZoomer提供的放大、缩小操作只支持鼠标事件或键盘......
  • Qt QTableView样式设置
                 QtQTableView样式设置 显示效果QSS设置 选中设置:​​QTableView::item:selected​​​​{​​​​background:rgb(0,0,100);​​......
  • Qt和PyQt和PySide之间的关系
    Qt:是qt公司用c++语言写的一整套界面程序开发库。具有非常丰富的资料。LGPL协议。PySide:为了支持python语言使用这个qt库,所以qt公司搞了个PySide这个封装库,也就是通过python......
  • pyqt5图书管理系统--6、用户界面之借阅书籍和归还书籍
    本节分为两个部分:借阅书籍界面设计、归还书籍界面设计。主要流程:1、通过进入借阅书籍界面,点击借阅书籍按钮,实现借阅书籍的消息框提醒,和相关数据库内容变动。     2......
  • FreeSWITCH学习笔记:应用程序(APP)
    本文更新于2022-12-15,使用FreeSWITCH1.10.7。官方文档见:https://freeswitch.org/confluence/display/FREESWITCH/mod_dptools说明:下文中,部分大写为自定义变量,根据实际情......
  • qt编写多语言软件的方法
    一、概述    qt在编写多国际化软件时,一般采用多语言的方式,既先用英文字符串写代码,后期再进行翻译为其他语言的版本。二、多语言翻译方法2.1在c++文件中多语言方......