溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

VS2012中怎么使用QT creator實現登錄對話框設計

發布時間:2021-06-11 14:30:23 來源:億速云 閱讀:221 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關VS2012中怎么使用QT creator實現登錄對話框設計,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

首先,新建一個工程

VS2012中怎么使用QT creator實現登錄對話框設計

選擇Qt Application,填寫工程名

VS2012中怎么使用QT creator實現登錄對話框設計

一直Next,Base class選擇QWidget,點擊Finish創建

VS2012中怎么使用QT creator實現登錄對話框設計

此時項目未添加對應的include文件,有許多地方顯示“can not open source file……”。選擇菜單欄PROJECT->User Properties… 進入添加頭文件設置頁面

VS2012中怎么使用QT creator實現登錄對話框設計

點擊“Additional Include Directories”進行編輯,添加你QT安裝目錄下的以下文件夾

VS2012中怎么使用QT creator實現登錄對話框設計

新建一個對話類,右鍵項目名,添加新類

VS2012中怎么使用QT creator實現登錄對話框設計

選擇Qt5 Classes,雙擊 Qt5GuiClasses

VS2012中怎么使用QT creator實現登錄對話框設計

Base Class填QDialog,點擊Finish完成創建

VS2012中怎么使用QT creator實現登錄對話框設計

然后就進行ui布置了,在logindlg.ui中設計下面的界面:行輸入框為Line Edit。其中用戶名后面的輸入框在屬性中設置其object Name為usrLineEdit,密碼后面的輸入框為pwdLineEdit,登錄按鈕為loginBtn,退出按鈕為exitBtn。設置完如下圖:

VS2012中怎么使用QT creator實現登錄對話框設計

點擊選擇”編輯信號/槽“VS2012中怎么使用QT creator實現登錄對話框設計,按住退出按鈕拖一下VS2012中怎么使用QT creator實現登錄對話框設計,彈出對話框,信號選擇clicked(),槽選擇close(),實現點擊退出功能。若沒有close(),選擇“顯示從QWidget繼承的信號和槽”。

VS2012中怎么使用QT creator實現登錄對話框設計

按照上面方法設置登錄按鈕的信號與槽,其槽函數要自己寫,所以槽選擇那里點擊編輯,新增一個slot1(),改名為on_loginBtn_clicked()。點擊確定。保存Qt 設計師并關閉。

VS2012中怎么使用QT creator實現登錄對話框設計

回到VS2012,修改main.cpp:

#include "user.h"
#include <QtWidgets/QApplication>
#include "logindlg.h"

int main(int argc, char *argv[])
{
  QApplication a(argc, argv);
  User w;
  loginDlg login;
  if(login.exec() == QDialog::Accepted)
  {
  w.show();
  return a.exec();
  }
  else return 0;
}

接著修改loginDlg.cpp,先在loginDLg.h中添加之前的槽函數的聲明。

#ifndef LOGINDLG_H
#define LOGINDLG_H

#include <QDialog>
#include "ui_logindlg.h"

class loginDlg : public QDialog
{
  Q_OBJECT

public:
  loginDlg(QWidget *parent = 0);
  ~loginDlg();

private:
  Ui::loginDlg *ui; //這里定義ui為指向類的指針
private slots:
  void on_loginBtn_clicked(); //槽函數聲明
};

#endif // LOGINDLG_H

最后在loginDlg.cpp中定義槽函數,實現正確輸入帳號密碼則進入主窗口,否則報錯。

void loginDlg::on_loginBtn_clicked()
{
  if(ui->usrLineEdit->text() == tr("caddress")&&ui->pwdLineEdit->text()==tr("123456"))
    accept();
  else{
    QMessageBox::warning(this,tr("Warning"),tr("user name or password error!"),QMessageBox::Yes):
  }
}

至此,程序還有許多錯誤,有大部分頭文件未找到,按照上面的方法繼續添加相應文件夾:

VS2012中怎么使用QT creator實現登錄對話框設計 

添加完后點擊編譯,則相應的頭文件就找到了。

loginDlg.cpp完整代碼:

#include "logindlg.h"
#include <qmessagebox> //添加該頭文件才能使用QMessageBox

loginDlg::loginDlg(QWidget *parent)
 : QDialog(parent)
{
 (*ui).setupUi(this); //這里ui需要為類類型,所以得解指針
}

loginDlg::~loginDlg()
{

}

void loginDlg::on_loginBtn_clicked()
{
 if(ui->usrLineEdit->text() == tr("caddress")&&ui->pwdLineEdit->text()==tr("123456")) //這里需要指針,直接使用ui
  accept();
 else{
  QMessageBox::warning(this,tr("Warning"),tr("user name or password error!"),QMessageBox::Yes);
 }
}

點擊編譯就能實現功能

VS2012中怎么使用QT creator實現登錄對話框設計

以上就是VS2012中怎么使用QT creator實現登錄對話框設計,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女