• Qt 登陆界面实现


    新项目要用到Qt,所以最近研究Qt,昨天安装好部署好Qt Creator现在马上开始第一个程序。

    做一个简单的登陆界面功能

    效果图如下

    代码部分

    View Code
    #include <QtGui/QApplication>
    #include "mainwindow.h"
    #include "LoginDlg.h"
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        MainWindow w; //主界面
    
        LoginDlg login; //登陆界面
        if(login.exec()==QDialog::Accepted)
        {
             w.show();
             return a.exec();
        }
        else return 0;
    
    }
    View Code
    #ifndef LOGINDLG_H
    #define LOGINDLG_H
    
    #include <QDialog>
    
    namespace Ui {
        class LoginDlg;
    }
    
    class LoginDlg : public QDialog {
        Q_OBJECT
    public:
        LoginDlg(QWidget *parent = 0);
        ~LoginDlg();
    
    protected:
        void changeEvent(QEvent *e);
    
    private:
        Ui::LoginDlg *ui;
    
    private slots:
        void on_pushButton_2_clicked();
        void on_pushButton_clicked();
    };
    
    #endif // LOGINDLG_H

    View Code

    #include "logindlg.h"
    #include "ui_logindlg.h"
    #include "QMessageBox.h"
    #include "QTextCodec.h"
    LoginDlg::LoginDlg(QWidget *parent) :
        QDialog(parent),
        ui(new Ui::LoginDlg)
    {
        ui->setupUi(this);
    }
    
    LoginDlg::~LoginDlg()
    {
        delete ui;
    }
    
    void LoginDlg::changeEvent(QEvent *e)
    {
        QDialog::changeEvent(e);
        switch (e->type()) {
        case QEvent::LanguageChange:
            ui->retranslateUi(this);
            break;
        default:
            break;
        }
    }
    
    void LoginDlg::on_pushButton_clicked()
    {
      if(this->ui->txtname->text().trimmed()== tr("admin") &&
         this->ui->txtpwd->text().trimmed()==tr("admin"))
      {
          accept();
      }
      else
      {
          QTextCodec::setCodecForTr( QTextCodec::codecForName("GBK") );
          QMessageBox::warning(this,tr("警告"),tr("用户名或密码错误!"),QMessageBox::Yes);
          this->ui->txtname->clear();
          this->ui->txtpwd->clear();
          this->ui->txtname->setFocus();
      }
    }
    
    void LoginDlg::on_pushButton_2_clicked()
    {
        this->close();
    }

    代码很简单实现基本功能

  • 相关阅读:
    less @import and extend及mixin详解
    Less的guards and argument matching
    LESS嵌套中的Mixins和classes
    bootstrap colorscheme以及theme自动生成
    C# Winform 获得下拉框 选中的值
    C# 后台按键 视频播放器 全屏后无法 触发
    C# 调用win32API 获取进程句柄 有毛用???
    C# 键盘钩子
    C# SqlParameter 使用
    C# 获得星期几
  • 原文地址:https://www.cnblogs.com/newstart/p/2838658.html
Copyright © 2020-2023  润新知