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;
}
最新文章
- 优化MySchool数据库(二)
- 数论 - n元线性同余方程的解法
- hduoj 4706 Herding 2013 ACM/ICPC Asia Regional Online —— Warmup
- 1047: [HAOI2007]理想的正方形 - BZOJ
- 【经典dp】 poj 3671
- 如何解压 Mac OS X 下的 PKG 文件(网摘)
- margin-top导致父标签偏移问题
- python之编码与解码
- 8 ServletContext
- 在visual studio 2013中编译Lua5.3.1
- 01: 腾讯云API-云服务器
- Oracle启动和关闭数据库
- redis设置密码
- bootstrap 前端模板
- nginx upstream的配置
- .net core 调用数字证书 使用X509Certificate2
- DIOCP开源项目-数据库连接池的使用<;多帐套数据库>;
- C++中的构造函数,拷贝构造函数,赋值函数
- C++ 刷题常用函数总结
- StretchBlt函数和BitBlt函数的用法