日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

ubuntu 中的qt怎么调用graphics.h_Qt 标准对话框之 QFileDialog

發布時間:2025/3/13 Ubuntu 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ubuntu 中的qt怎么调用graphics.h_Qt 标准对话框之 QFileDialog 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Qt 標準對話框之 QFileDialog

《Qt 學習之路》已經寫到了第15篇,然而現在再寫下去卻有點困難,原因是當初并沒有想到會連續的寫下去,因此并沒有很好的計劃這些內容究竟該怎樣去寫。雖然前面說過,本教程主要線路參考《C++ Gui Programming with Qt 4, 2nd Edition》,然而最近的章節由于原文是一個比較完整的項目而有所改變,因此現在不知道該從何寫起。我并不打算介紹很多組件的使用,因為 Qt 有很多組件,各種組件用法眾多,根本不可能介紹完,只能把API 放在手邊,邊用邊查。所以,對于很多組件我只是簡單的介紹一下,具體用法還請自行查找(確切地說,我知道的也并不多,很多時候還是要到 API 里面去找)。下面還是按照我們的進度,從 Qt 的標準對話框開始說起。所謂標準對話框,其實就是 Qt 內置的一些對話框,比如文件選擇、顏色選擇等等。今天首先介紹一下 QFileDialog。QFileDialog 是 Qt 中用于文件打開和保存的對話框,相當于 Swing 里面的 JFileChooser。下面打開我們前面使用的工程。我們已經很有先見之明的寫好了一個打開的 action,還記得前面的代碼嗎?當時,我們只是彈出了一個消息對話框(這也是一種標準對話框哦~)用于告知這個信號槽已經聯通,現在我們要寫真正的打開代碼了!修改 MainWindow 的 open 函數:void MainWindow::open(){ QString path = QFileDialog::getOpenFileName(this, tr("Open Image"), ".", tr("Image Files(*.jpg *.png)")); if(path.length() == 0) { QMessageBox::information(NULL, tr("Path"), tr("You didn't select any files.")); } else { QMessageBox::information(NULL, tr("Path"), tr("You selected ") + path); }}編譯之前別忘記 include QFileDialog 哦!然后運行一下吧!點擊打開按鈕,就會彈出打開對話框,然后選擇文件或者直接點擊取消,會有相應的消息提示。QFileDialog 提供了很多靜態函數,用于獲取用戶選擇的文件。這里我們使用的是 getOpenFileName(), 也就是“獲取打開文件名”,你也可以查看 API 找到更多的函數使用。不過,這個函數的參數蠻長的,而且類型都是 QString,并不好記。考慮到這種情況,Qt 提供了另外的寫法: QFileDialog *fileDialog = new QFileDialog(this); fileDialog->setWindowTitle(tr("Open Image")); fileDialog->setDirectory("."); fileDialog->setFilter(tr("Image Files(*.jpg *.png)")); if(fileDialog->exec() == QDialog::Accepted) { QString path = fileDialog->selectedFiles()[0]; QMessageBox::information(NULL, tr("Path"), tr("You selected ") + path); } else { QMessageBox::information(NULL, tr("Path"), tr("You didn't select any files.")); }不過,這兩種寫法雖然功能差別不大,但是彈出的對話框卻并不一樣。getOpenFileName()函數在Windows 和 MacOS X 平臺上提供的是本地的對話框,而 QFileDialog 提供的始終是 Qt 自己繪制的對話框(還記得前面說過,Qt 的組件和 Swing 類似,也是自己繪制的,而不都是調用系統資源API)。為了說明 QFileDialog::getOpenFileName()函數的用法,還是先把函數簽名放在這里:QString QFileDialog::getOpenFileName ( QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(), const QString & filter = QString(), QString * selectedFilter = 0, Options options = 0 )第一個參數 parent,用于指定父組件。注意,很多 Qt 組件的構造函數都會有這么一個 parent 參數,并提供一個默認值0;第二個參數 caption,是對話框的標題;第三個參數 dir,是對話框顯示時默認打開的目錄,"." 代表程序運行目錄,"/" 代表當前盤符的根目錄(Windows,Linux下/就是根目錄了),也可以是平臺相關的,比如"C:\"等;第四個參數 filter,是對話框的后綴名過濾器,比如我們使用"Image Files(.jpg .png)"就讓它只能顯示后綴名是 jpg 或者 png 的文件。如果需要使用多個過濾器,使用";;"分割,比如"JPEG Files(.jpg);;PNG Files(.png)";第五個參數 selectedFilter,是默認選擇的過濾器;第六個參數 options,是對話框的一些參數設定,比如只顯示文件夾等等,它的取值是 enum QFileDialog::Option,每個選項可以使用 | 運算組合起來。如果我要想選擇多個文件怎么辦呢?Qt 提供了 getOpenFileNames()函數,其返回值是一個QStringList。你可以把它理解成一個只能存放 QString 的 List,也就是 STL 中的list。好了,我們已經能夠選擇打開文件了。保存也是類似的,QFileDialog 類也提供了保存對話框的函數getSaveFileName,具體使用還是請查閱 API。

總結

以上是生活随笔為你收集整理的ubuntu 中的qt怎么调用graphics.h_Qt 标准对话框之 QFileDialog的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产成年妇视频 | aaa一级黄色片 | 狼人久久| 一区二区三区精彩视频 | 五月天色婷婷丁香 | 久久911 | 天天操天天射天天舔 | 美女131爽爽爽做爰视频 | 比利时xxxx性hd极品 | 噼里啪啦动漫高清在线观看 | 久久久黄色 | 桃谷绘里香在线观看 | 黄色成年网站 | 特级毛片在线观看 | 黑人三级视频 | 日韩aⅴ在线观看 | 丁香六月在线 | 国产欧美a | 人人澡人人澡人人 | 午夜亚洲aⅴ无码高潮片苍井空 | 欧美一级片播放 | 亚洲免费一级 | 又大又粗又爽18禁免费看 | 国产馆在线观看 | 免费观看视频一区 | 日韩少妇内射免费播放18禁裸乳 | 激情五月色播五月 | 9i精品福利一区二区三区 | 亚洲熟区 | 一区二区不卡av | 国产免费高清视频 | 亚洲a在线播放 | 大黑人交xxx极品hd | 久久久无码精品亚洲无少妇 | 催眠调教艳妇成肉便小说 | 噜噜噜亚洲色成人网站 | 国产无遮挡呻吟娇喘视频 | 国产一区二区三区在线观看免费 | 在线看亚洲 | 青青青视频在线播放 | 欧美视频在线观看视频 | 色姑娘综合 | 欧美熟妇交换久久久久久分类 | 亚洲精品精品 | 色狠狠一区 | 成人精品动漫 | 亚洲自拍成人 | 日本一区二区免费在线 | 久久久久无码国产精品一区 | 91黄色看片 | 日韩两性视频 | 欧美极品少妇xxxxⅹ裸体艺术 | 午夜免费视频网站 | 久久字幕 | 伊人365| 丁香免费视频 | 久久亚洲AV成人无码国产野外 | 亚洲精品久久久久久动漫器材一区 | 久久精视频 | 成人免费大片黄在线播放 | 激情网五月天 | 欧美bbbbbbbbbbbb1| 91久久国产综合久久91 | 特级西西444www大精品视频免费看 | 国产一二三在线视频 | 亚洲成人第一区 | 精品天堂| 欧美巨乳在线观看 | 亚洲第一综合网站 | 欧美日韩成人在线观看 | 艳妇乳肉豪妇荡乳av无码福利 | 粗了大了 整进去好爽视频 日本女优中文字幕 | 免费吸乳羞羞网站视频 | 涩视频在线观看 | 免费观看91视频 | avtt中文字幕| 婷婷久久五月 | 精品国产免费看 | 成人福利在线播放 | 日本视频免费看 | 女警白嫩翘臀呻吟迎合 | porn麻豆 | 色妹子综合 | 欧美女人天堂 | 福利亚洲 | 欧美一级性视频 | 亚洲区久久 | 成人午夜视频一区二区播放 | 无码人妻一区二区三区在线 | 久久精品色 | 青娱网电信一区电信二区电信三区 | 碰在线视频 | 亚洲一区二区三区四区五区六区 | 91视频国产一区 | 国产91一区二区三区在线精品 | 美女毛片在线 | 久草五月| 雪白的扔子视频大全在线观看 | 国模av|