• QT 自定义控件 以及信号和槽的使用


    自定义login 控件

     

    Login头文件

     

    #ifndef LOGIN_H

    #define LOGIN_H

     

    #include <QWidget>

     

    namespace Ui {

    class Login;

    }

     

    class Login : public QWidget

    {

        Q_OBJECT

     

    public:

        explicit Login(QWidget *parent = 0);

        ~Login();

    signals:

        void login(QString ,QString );

    private slots:

        void on_pushButton_clicked();

     

    private:

        Ui::Login *ui;

    };

     

    #endif // LOGIN_H

    Login 源文件

    #include "login.h"

    #include "ui_login.h"

     

    Login::Login(QWidget *parent) :

        QWidget(parent),

        ui(new Ui::Login)

    {

        ui->setupUi(this);

    }

     

    Login::~Login()

    {

        delete ui;

    }

     

    void Login::on_pushButton_clicked()

    {

        QString name=ui->UserName->toPlainText();

        QString pwd=ui->UserPwd->toPlainText();

        login(name,pwd);

    }

    主窗口

    头文件

    #ifndef MAINWINDOW_H

    #define MAINWINDOW_H

     

    #include <QMainWindow>

     

    namespace Ui {

    class MainWindow;

    }

     

    class MainWindow : public QMainWindow

    {

        Q_OBJECT

     

    public:

        explicit MainWindow(QWidget *parent = 0);

     

        ~MainWindow();

    public slots:

           void handleLogin(QString name,QString pwd);

    private:

        Ui::MainWindow *ui;

    };

     

    #endif // MAINWINDOW_H

     

    源文件

    #include "mainwindow.h"

    #include "ui_mainwindow.h"

    #include "login.h"

    #include <QDebug>

    #include <QMessageBox>

     

    MainWindow::MainWindow(QWidget *parent) :

        QMainWindow(parent),

        ui(new Ui::MainWindow)

    {

        ui->setupUi(this);

     

        Login *lg=new Login();

        lg->setParent(this);

     

        QSize size;

        size.setWidth(200);

        size.setHeight(200);

     

        lg->setBaseSize(size);

     

        connect(lg,SIGNAL(login(QString ,QString )),this,SLOT(handleLogin(QString , QString)));

     

     

    }

     

    void MainWindow::handleLogin(QString name,QString pwd)

    {

        qDebug()<<name<<pwd;

       // QMessageBox.information()

        QMessageBox::critical(NULL, name, pwd, QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);

    }

    MainWindow::~MainWindow()

    {

        delete ui;

    }

  • 相关阅读:
    字体最小值
    javascript常用事件
    豆瓣移动端风格的css命名方法与学习
    JS基础函数
    css3动画
    html与css的移动端与pc端需要注意的事项
    javascript什么是函数
    JavaScript基础学习
    开始学javascript基础
    使用css3属性,大部分浏览器要识别前缀
  • 原文地址:https://www.cnblogs.com/bruce1992/p/14256476.html
Copyright © 2020-2023  润新知