Linux中qt编写登录

2020-09-03 10:57:00 浏览数 (6)

//head.h

ifndef HEAD_H

define HEAD_H

include”QtWidgets”

class QLabel; class QLineEdit; class QPushButton;

class LoginDialog:public QDialog { Q_OBJECT public: LoginDialog(QWidget *parent = 0); ~LoginDialog();

private slots: // void xianshi(); void Register(); void login(); private: QLabel *label1; QLabel *label2; QLineEdit *lineEdit1; QLineEdit *lineEdit2; QPushButton *loginbutton; QPushButton *registerbutton; QString name; QString password; QStringList lines; };

endif

//login.cpp

include “QtWidgets”

include “QTextStream”

include “head.h”

LoginDialog::LoginDialog(QWidget *parent):QDialog(parent) { label1 = new QLabel(tr(“number”)); label2 = new QLabel(tr(“password”)); lineEdit1 = new QLineEdit(); lineEdit2 = new QLineEdit; lineEdit1->setEchoMode(QLineEdit::Normal); lineEdit2->setEchoMode(QLineEdit::Password); lineEdit1->setValidator(new QIntValidator(lineEdit1));

loginbutton = new QPushButton(tr(“login”)); registerbutton = new QPushButton(tr(“regiter”));

QHBoxLayout *a = new QHBoxLayout; QHBoxLayout *b = new QHBoxLayout; QHBoxLayout *c = new QHBoxLayout;

a->addWidget(label1); a->addWidget(lineEdit1);

b->addWidget(label2); b->addWidget(lineEdit2);

c->addWidget(loginbutton); c->addWidget(registerbutton);

QVBoxLayout *totalLayout = new QVBoxLayout; totalLayout->addLayout(a); totalLayout->addLayout(b); totalLayout->addLayout(c); connect(registerbutton,SIGNAL(clicked()),this,SLOT(Register())); connect(loginbutton,SIGNAL(clicked()),this,SLOT(login())); setLayout(totalLayout); setWindowTitle(tr(“login”));

setFixedHeight(sizeHint().height());

}

LoginDialog::~LoginDialog() {

}

void LoginDialog::Register() { name=lineEdit1->text(); password=lineEdit2->text(); QFile file(“./a.txt”); if(file.open(QIODevice::WriteOnly|QIODevice::Append)) { QTextStream out(&file); out<

include “QApplication”

include “head.h”

int main(int argc, char *argv[]) { QApplication app(argc,argv); LoginDialog *dialog = new LoginDialog; dialog->show(); return app.exec(); }

0 人点赞