實現功能:
在彈出對話方塊中填寫使用者名稱和密碼,按下登入按鈕,如果使用者名稱和密碼均正確則進入主視窗,如果有錯則彈出警告對話方塊。
實現原理:
通過上節的多視窗原理實現由登入對話方塊進入主視窗,而使用者名稱和密碼可以用if語句進行判斷。
實現過程:
2.然後新建乙個qt designer form class類,類名為logindlg,選用dialog without buttons,將其加入上面的工程中。檔案列表如下:
3.在logindlg.ui中設計下面的介面:行輸入框為line edit。其中使用者名稱後面的輸入框在屬性中設定其object name為usrlineedit,密碼後面的輸入框為pwdlineedit,登入按鈕為loginbtn,退出按鈕為exitbtn。
4.將exitbtn的單擊後效果設為退出程式,關聯如下:
5.右擊登入按鈕選擇go to slot,再選擇clicked(),然後進入其單擊事件的槽函式,寫入一句
void logindlg::on_loginbtn_clicked()
6.改寫main.cpp:
7.這時執行程式,可實現按下登入按鈕進入主視窗,按下退出按鈕退出程式。
8.新增使用者名稱密碼判斷功能。將登陸按鈕的槽函式改為:
void logindlg::on_loginbtn_clicked()
if(m_ui->usrlineedit->text()==tr(「qt」)&&m_ui->pwdlineedit->text()==tr(「123456″))
//判斷使用者名稱和密碼是否正確
accept();
else
並在logindlg.cpp中加入#include 的標頭檔案。如果不加這個標頭檔案,qmessagebox類不可用。
(說明:由於版本原因,現在的程式預設生成的ui類物件可能是ui,而不是m_ui,請到logindlg.h中檢視。)
9.這時再執行程式,輸入使用者名為qt,密碼為123456,按登入按鈕便能進入主視窗了,如果輸入錯了,就會彈出警告對話方塊。
如果輸入錯誤,便會彈出警告提示框:
10.在logindlg.cpp的logindlg類建構函式裡,添上初始化語句,使密碼顯示為小黑點。
logindlg::logindlg(qwidget *parent) :
qdialog(parent),
m_ui(new ui::logindlg)
m_ui->setupui(this);
m_ui->pwdlineedit->setechomode(qlineedit::password);
效果如下:
11.如果輸入如下圖中的使用者名稱,在使用者名稱前不小心加上了一些空格,結果程式按錯誤的使用者名稱對待了。
我們可以更改if判斷語句,使這樣的輸入也算正確。
void logindlg::on_loginbtn_clicked()
if(m_ui->usrlineedit->text().trimmed()==tr(「qt」)&&m_ui->pwdlineedit->text()==tr(「123456″))
accept();
else{
qmessagebox::warning(this,tr(「warning」),tr(「user name or password error!」),qmessagebox::yes);
加入的這個函式的作用就是移除字串開頭和結尾的空白字元。
12.最後,如果輸入錯誤了,重新回到登入對話方塊時,我們希望可以使使用者名稱和密碼框清空並且游標自動跳轉到使用者名稱輸入框,最終的登入按鈕的單擊事件的槽函式如下:
void logindlg::on_loginbtn_clicked()
if(m_ui->usrlineedit->text().trimmed()==tr(「qt」)&&m_ui->pwdlineedit->text()==tr(「123456″))
//判斷使用者名稱和密碼是否正確
accept();
else{
qmessagebox::warning(this,tr(「warning」),tr(「user name or password error!」),qmessagebox::yes);
//如果不正確,彈出警告對話方塊
m_ui->usrlineedit->clear();//清空使用者名稱輸入框
m_ui->pwdlineedit->clear();//清空密碼輸入框
m_ui->usrlineedit->setfocus();//將游標轉到使用者名稱輸入框
最終的logindlg.cpp檔案如下圖:
Qt Creator登入對話方塊
實現功能 在彈出對話方塊中填寫使用者名稱和密碼,按下登入按鈕,如果使用者名稱和密碼均正確則進入主視窗,如果有錯則彈出警告對話方塊。實現原理 通過上節的多視窗原理實現由登入對話方塊進入主視窗,而使用者名稱和密碼可以用if語句進行判斷。實現過程 2.然後新建乙個qt designer form clas...
MFC 登入對話方塊
首先我們要確定在 寫 要想實現優先顯示並且能隨意退出程式這個功能最好的地方就是在initinstance 函式中,好了,現在我們開始寫程式。第一步,我們新建乙個單文件工程,工程名字就叫mainfram。第二步 我們設計乙個對話方塊資源,對話方塊資源id為idd dialog login,為它新增兩個...
對話方塊 訊息對話方塊
我們在使用windows系統的過程中經常會見到訊息對話方塊,提示我們有異常發生或提出詢問等。因為在軟體開發中經常用到訊息對話方塊,所以mfc提供了兩個函式可以直接生成指定風格的訊息對話方塊,而不需要我們在每次使用的時候都要去建立對話方塊資源和生成對話方塊類等。這兩個函式就是cwnd類的成員函式mes...