文章目錄
- qt窗口--02
- QMessageBox
- QColorDialog
- QFileDialog
- QFontDialog
- QInputDialog、
- 結語
很高興和大家見面,給生活加點impetus!!開啟今天的編程之路!!
作者:?( ‘ω’ )?260
我的專欄:qt,Linux,C++進階,C++初階,數據結構初階,題海探驪,c語言
歡迎點贊,關注!!
qt窗口–02
我們上節介紹了對話框的基礎類型,該文主要介紹對話框的擴展類型。即生活中常用的對話框qt其實已經內置了~
QMessageBox
消息對話框,在生活中一般會彈出問題,信息,報錯等等~
自定義對話框有兩種方式,一種是動態方式,一種是靜態方式,我們先來看第一種方式:
雖然說qt的QMessageBox內置了按鈕,同時,因為這個按鈕是QMessageBox生成的,所以無法去建立信號和槽的連接。
先來看結果:
其實,我們這里也是可以寫QMessageBox->exec(),此時程序就會在這一行代碼這里給斷掉,直到將該exec顯示的控件給關閉,才會繼續向下運行代碼,同時,exec這種方式不僅是模態,還能夠獲取當前用戶點擊了什么東西:
為什么是整形呢?因為內置的按鈕是可以使用整形來表示的。
我們來看代碼,可以來獲取當前用戶點擊了什么按鈕:
我們再來看結果:
此時就會有對應的打印日志~
上面我們都是通過動態的函數創建,隨后我們再來對動態new出來的QMessageBox進行操作,我們使用靜態創建的話,不用使用new,也能夠對該對話框進行操作。
來看代碼:
因為該函數是靜態函數,所以都不用進行銷毀了。
結果和動態創建的結果是相同的,這里就不再演示了。
QColorDialog
顏色對話框,其實內置了調色板。
在前面學習控件的時候,我們學過stylesheet控件屬性,在那個部分我們講解過顏色的表示形式,這里我們順便復習一下:
這里我們依然是使用靜態函數的創建方式,來創建這個顏色對話框,同時,我們使用顏色對話框來調整mainWindow窗口的顏色。
來看代碼:
我們先來看結果:
此時我們用戶設置的值就能夠通過返回值給到我們用來接收的color變量,我們再來通過這個變量設置stylesheet給到mainWindow即可:
首先我們需要明白stylesheet需要傳遞一個QString過去,所以我們需要遵循qss設置顏色的規則:
接下來我們直接來看代碼:
這里我們同樣可以使用sprintf字符串拼接函數,實現效果:
這樣我們就實現了這種效果。
QFileDialog
該對話框主要是用來通過打開文件/保存文件來獲取文件路徑。
注意:不是真的保存了文件,還需要進行其他的有關文件操作的知識,這里我們后面再說
我們來使用文件對話框來獲取文件的路徑,我們同樣是使用靜態的創建的方式:
我們直接來看結果:
其他的涉及文件對話框的內容我們放到文件操作的章節再來去談
QFontDialog
接下來我們仍然是使用靜態的方式來創建字體對話框。
我們直接來看代碼:
這個函數中的bool值是用來干什么的呢?
其實就是利用bool值確定用戶點擊的什么,當用戶點擊ok或者cancel,對應的bool值就會被修改:
我們來看效果:
用戶對于字體的設置,就會通過getFont函數返回值返回給我們設置的font變量~
通過我們返回的font對象,就可以完成我們對控件字體的修改,我們來看示例代碼,同時給出結果:
QInputDialog、
輸入對話框,還是使用靜態創建的方式,同時我們設置變量接收用戶輸入的結果,這里有三種靜態創建的方式,分別是getInt,getDouble,getItem,前兩個其實都好理解,即輸入整形和浮點型,第三種是輸入條項,即字符串,來看代碼:
QStringList其實就是類似于c++stl 庫中的vector或List,有些接口和他們是相同的。
來看結果:
結語
今天的內容就分享到這里,感謝大家的認真傾聽,不足之處歡迎大家留言指出,感謝大家支持!