Q提供了多種可復用的對話框類型,即Qt標準對話框。Qt標準對話框全部繼承于QDialog類。常用標準對話框如下:
一.消息對話框(QMessageBox)
消息對話框是應用程序中最常用的界面元素。消息對話框主要用于為用戶提示重要信息,強制用戶進行選擇操作。
1.自己構建
QMessageBox自己內置了一些圖標和按鈕,我們可以直接使用。
除了上述的一些內置按鈕,也可以自定義按鈕。在進行addButton操作時,第二個參數代表該按鈕的角色。例如:設置AcceptRole就代表接受,之后就可以通過信號槽進行更進一步的設定。
但實際上像標準按鈕,是無法使用connect進行連接的,所以我們可以通過exec函數的返回值,直接獲取點擊的是哪個按鈕。它的返回值就是標準按鈕的枚舉。
2.使用靜態(tài)函數構建
QMessageBox類中定義了靜態(tài)成員函數,可以直接調用創(chuàng)建不同風格的消息對話框,其中包括:
二.顏色對話框(QDialog)
顏色對話框的功能是允許用戶選擇顏色。繼承自QDialog類。顏色對話框如下圖示:
這個類是QDialog的子類,當然可以使用exec進行顯示,但更多的情況下,我們都使用它的專屬方法。
-
QColorDialog (Qwidget*parent = nullptr)//創(chuàng)建對象的同時設置父對象
-
QColorDialog(const QColor &initial, QWidget *parent = nullptr)//創(chuàng)建對象的同時通過QColor對象設置默認顏色和父對象
-
void setCurrentColor(const Qcolor &color)//設置當前顏色對話框
-
QColor currentColor() const//獲取當前顏色對話框
-
QColor getColor(const QColor &initial =Qt:white, QWidget *parent= nullptr, const QString&title = QString(),QColorDialog:ColorDialogoptions options =ColorDialogOptions())//打開顏色選擇對話框,并返回一個QColor對象
-
voidopen(QObjectreceiver,constcharmember)//打開顏?對話框
三.文件對話框(QFileDialog)
文件對話框用于應用程序中需要打開一個外部文件或需要將當前內容存儲到指定的外部文件。常用方法介紹:
1、打開文件(一次只能打開一個文件)
QString getOpenFileName(QWidget *parent = nullptr, const QString &caption = QString(), constQString &dir = QString(), const Qstring &filter =QString(), QString *selectedFilter = nullptr,QFileDialog:Options options = Options())
2、打開多個文件(一次可以打開多個文件)
QStringList getOpenFileNames(QWidget *parent = nullptr, const QString &caption =QString(),const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr,QFileDialog::Options options = Options())
3、保存文件
QString getSaveFileName(QWidget *parent = nullptr, const QString &caption =QString(), constQString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr,QFileDialog:Options options = Options())
注意,這里只是單純的打開/保存文件,具體的功能實現還需要之后的代碼。
四.字體對話框(QFontDialog)
Qt中提供了預定義的字體對話框類QFontDialog,?于提供選擇字體的對話框部件。使用方法與上面的大同小異,就不再贅述了。
五.輸入對話框(QInputDialog)
Qt中提供了預定義的輸?對話框類:QInputDialog,?于進?臨時數據輸?的場合。
1、雙精度浮點型輸入數據對話框
double getDouble (Qwidget *parent, const Qstring &title, const Qstring&label, doublevalue =0, double min =-2147483647, double max= 2147483647, int decimals = 1, bool *ok= nullptr, Qt::WindowFlags flags = Qt::WindowFlags());
2、整型輸入數據對話框
int getInt (QWidget*parent, const Qstring &title, const Qstring &label, int value = 0, intmin =-2147483647, int max= 2147483647, int step =1, bool *ok=nullptr, Qt:WindowFlagsflags = Qt::WindowFlags());
3、選擇條目型輸入數據框
QString getltem (QWidget *parent, const Qstring &title, const Qstring &label, constQStringList &items, int current= 0, bool editable = true, bool*ok = nullptr,Qt:WindowFlags flags = Qt::WindowFlags(), Qt::lnputMethodHints inputMethodHints =Qt::lmhNone);
文章來源:http://www.zghlxwxcb.cn/news/detail-853605.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-853605.html
到了這里,關于【Qt】:對話框(二)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!