簡體   English   中英

如何在 QFileDialog 上設置選定的過濾器?

[英]How to set selected filter on QFileDialog?

我有一個帶有三個過濾器的打開文件對話框:

QString fileName = QFileDialog::getOpenFileName(
        this,
        title,
        directory,
        tr("JPEG (*.jpg *.jpeg);; TIFF (*.tif);; All files (*.*)")
);

這將顯示一個對話框,其中選擇了“JPEG”作為默認過濾器。 我想按字母順序排列過濾器列表,以便“所有文件”在列表中排在第一位。 但是,如果我這樣做,“所有文件”是默認選擇的過濾器 - 我不想要。

我可以為此對話框設置默認選擇的過濾器還是必須使用第一個指定的過濾器?

我嘗試指定第 5 個參數 ( QString ) 來設置默認選擇的過濾器,但這不起作用。 我認為這可能僅用於檢索用戶設置的過濾器。

像這樣:

QString selfilter = tr("JPEG (*.jpg *.jpeg)");
QString fileName = QFileDialog::getOpenFileName(
        this,
        title,
        directory,
        tr("All files (*.*);;JPEG (*.jpg *.jpeg);;TIFF (*.tif)" ),
        &selfilter 
);

文檔對此有點含糊,所以我通過猜測發現了這一點。

這是所有 QT 支持的圖像格式的字符串。

"All files (*.*);;BMP (*.bmp);;CUR (*.cur);;GIF (*.gif);;ICNS (*.icns);;ICO (*.ico);;JPEG (*.jpeg);;JPG (*.jpg);;PBM (*.pbm);;PGM (*.pgm);;PNG (*.png);;PPM (*.ppm);;SVG (*.svg);;SVGZ (*.svgz);;TGA (*.tga);;TIF (*.tif);;TIFF (*.tiff);;WBMP (*.wbmp);;WEBP (*.webp);;XBM (*.xbm);;XPM (*.xpm)"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM