QT之建立登陸對話框(十五)

以前咱們介紹了對話框的相關知識,那麼今天咱們就來建立一個登陸對話框,包含用戶名和密碼的這麼一個可複用的模板。

需求分析:登陸對話框是應用程序中的經常使用部件。可複用軟件部件,獲取用戶名和密碼。最終咱們將要作成以下所示的界面:
QT之建立登陸對話框(十五)
登陸對話框的設計與架構關係如圖所示:
QT之建立登陸對話框(十五)
咱們 Widget 的頭文件和 .cpp 文件實現以下所示:
QT之建立登陸對話框(十五)QT之建立登陸對話框(十五)
登陸界面的頭文件以下所示:
QT之建立登陸對話框(十五)
其中界面按鈕的實現程序以下:
QT之建立登陸對話框(十五)
Login 和 Cancel 的點擊響應咱們就作了打印函數名。
最終構建運行獲得的效果圖以下所示:
QT之建立登陸對話框(十五)
咱們如今已經作出大概界面了。可是還存在幾個問題:密碼是明文,它的界面大小仍是可變的。再者咱們在登陸和取消的時候只是加了打印語句,並無作相應的處理。那麼咱們下來就要來解決這幾個問題。
咱們在幫助中搜索 QLineEdit 關鍵字,那麼就會看見帶有 Password 的屬性,以下圖所示:
QT之建立登陸對話框(十五)
那麼咱們在 QLoginDialog 函數中加上 PwdEdit.setEchoMode(QLineEdit::Password)這句。咱們再次構建運行,獲得以下所示:
QT之建立登陸對話框(十五)就在
那麼密碼顯示的問題咱們已經解決,咱們再加上以前學過的 setFixedSize函數,那麼它的窗口的大小就不可變了。
那麼若是咱們想要獲取用戶輸入的用戶名和密碼怎麼作呢?就是如何在兩個不一樣對話框間傳遞數據。經過附加的成員變量和成員函數完成不一樣對話框間的數據傳遞!以下:
QT之建立登陸對話框(十五)
咱們在登陸和取消響應的函數中作以下處理:
QT之建立登陸對話框(十五)
m_user後面的 .trimmed() 屬性意思是去除用戶名中的空格。咱們在到 Widget 中的 TestBtn_Clicked 函數中添加以下代碼:
QT之建立登陸對話框(十五)
那麼此時咱們就能獲取到用戶名和密碼了,構建運行下。效果圖以下所示:
QT之建立登陸對話框(十五)
若是咱們點擊的是登陸,則會打印出用戶名和密碼,並且點擊完,登陸對話框則會消失。若是點擊的是取消,則不會打印什麼東西,對話框消失。
本節咱們先學習到這了,基本目的已經達成。咱們經過本節總結以下:登陸對話框可做爲可複用對的軟件部件進行開發;對話框之間是經過成員變量和成員函數進行數據的傳遞的,具體來講就是將用戶數據保存在私有成員變量中,經過共有成員函數進行數據的傳遞。
那麼後面咱們會進行進一步的開發:例如檢查用戶名和密碼是否爲空,就是爲空時進行錯誤提示; 登陸對話框裏面的隨機碼的驗證,當驗證碼輸入錯誤時進行提示,驗證碼隨機刷新等。 咱們會在後面繼續進行試驗。架構

相關文章
相關標籤/搜索