You need to sign in or sign up before continuing.
Commit d46c1fe0 authored by Qiu Chuntao's avatar Qiu Chuntao

add files

parent ef80a220
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
#-------------------------------------------------
#
# Project created by QtCreator 2020-07-06T15:32:42
#
#-------------------------------------------------
QT += core gui sql
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = Qtsqlite
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp \
regist.cpp \
userwindow.cpp \
showtable.cpp
HEADERS += mainwindow.h \
regist.h \
userwindow.h \
showtable.h
FORMS += mainwindow.ui \
regist.ui \
userwindow.ui \
showtable.ui
This diff is collapsed.
File added
/****************************************************************************
** Meta object code from reading C++ file 'mainwindow.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.6.3)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../mainwindow.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'mainwindow.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.6.3. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
struct qt_meta_stringdata_MainWindow_t {
QByteArrayData data[7];
char stringdata0[88];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_MainWindow_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_MainWindow_t qt_meta_stringdata_MainWindow = {
{
QT_MOC_LITERAL(0, 0, 10), // "MainWindow"
QT_MOC_LITERAL(1, 11, 8), // "sendinfo"
QT_MOC_LITERAL(2, 20, 0), // ""
QT_MOC_LITERAL(3, 21, 12), // "QSqlDatabase"
QT_MOC_LITERAL(4, 34, 7), // "sendata"
QT_MOC_LITERAL(5, 42, 23), // "on_pushButton_2_clicked"
QT_MOC_LITERAL(6, 66, 21) // "on_pushButton_clicked"
},
"MainWindow\0sendinfo\0\0QSqlDatabase\0"
"sendata\0on_pushButton_2_clicked\0"
"on_pushButton_clicked"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_MainWindow[] = {
// content:
7, // revision
0, // classname
0, 0, // classinfo
4, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
2, // signalCount
// signals: name, argc, parameters, tag, flags
1, 2, 34, 2, 0x06 /* Public */,
4, 2, 39, 2, 0x06 /* Public */,
// slots: name, argc, parameters, tag, flags
5, 0, 44, 2, 0x08 /* Private */,
6, 0, 45, 2, 0x08 /* Private */,
// signals: parameters
QMetaType::Void, 0x80000000 | 3, QMetaType::QString, 2, 2,
QMetaType::Void, 0x80000000 | 3, QMetaType::QString, 2, 2,
// slots: parameters
QMetaType::Void,
QMetaType::Void,
0 // eod
};
void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
MainWindow *_t = static_cast<MainWindow *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->sendinfo((*reinterpret_cast< QSqlDatabase(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
case 1: _t->sendata((*reinterpret_cast< QSqlDatabase(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
case 2: _t->on_pushButton_2_clicked(); break;
case 3: _t->on_pushButton_clicked(); break;
default: ;
}
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
void **func = reinterpret_cast<void **>(_a[1]);
{
typedef void (MainWindow::*_t)(QSqlDatabase , QString );
if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&MainWindow::sendinfo)) {
*result = 0;
return;
}
}
{
typedef void (MainWindow::*_t)(QSqlDatabase , QString );
if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&MainWindow::sendata)) {
*result = 1;
return;
}
}
}
}
const QMetaObject MainWindow::staticMetaObject = {
{ &QMainWindow::staticMetaObject, qt_meta_stringdata_MainWindow.data,
qt_meta_data_MainWindow, qt_static_metacall, Q_NULLPTR, Q_NULLPTR}
};
const QMetaObject *MainWindow::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *MainWindow::qt_metacast(const char *_clname)
{
if (!_clname) return Q_NULLPTR;
if (!strcmp(_clname, qt_meta_stringdata_MainWindow.stringdata0))
return static_cast<void*>(const_cast< MainWindow*>(this));
return QMainWindow::qt_metacast(_clname);
}
int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QMainWindow::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 4)
qt_static_metacall(this, _c, _id, _a);
_id -= 4;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 4)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 4;
}
return _id;
}
// SIGNAL 0
void MainWindow::sendinfo(QSqlDatabase _t1, QString _t2)
{
void *_a[] = { Q_NULLPTR, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) };
QMetaObject::activate(this, &staticMetaObject, 0, _a);
}
// SIGNAL 1
void MainWindow::sendata(QSqlDatabase _t1, QString _t2)
{
void *_a[] = { Q_NULLPTR, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) };
QMetaObject::activate(this, &staticMetaObject, 1, _a);
}
QT_END_MOC_NAMESPACE
/****************************************************************************
** Meta object code from reading C++ file 'regist.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.6.3)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../regist.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'regist.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.6.3. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
struct qt_meta_stringdata_Regist_t {
QByteArrayData data[6];
char stringdata0[69];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_Regist_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_Regist_t qt_meta_stringdata_Regist = {
{
QT_MOC_LITERAL(0, 0, 6), // "Regist"
QT_MOC_LITERAL(1, 7, 7), // "getdata"
QT_MOC_LITERAL(2, 15, 0), // ""
QT_MOC_LITERAL(3, 16, 12), // "QSqlDatabase"
QT_MOC_LITERAL(4, 29, 21), // "on_pushButton_clicked"
QT_MOC_LITERAL(5, 51, 17) // "on_goback_clicked"
},
"Regist\0getdata\0\0QSqlDatabase\0"
"on_pushButton_clicked\0on_goback_clicked"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_Regist[] = {
// content:
7, // revision
0, // classname
0, 0, // classinfo
3, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 2, 29, 2, 0x0a /* Public */,
4, 0, 34, 2, 0x08 /* Private */,
5, 0, 35, 2, 0x08 /* Private */,
// slots: parameters
QMetaType::Void, 0x80000000 | 3, QMetaType::QString, 2, 2,
QMetaType::Void,
QMetaType::Void,
0 // eod
};
void Regist::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
Regist *_t = static_cast<Regist *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->getdata((*reinterpret_cast< QSqlDatabase(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
case 1: _t->on_pushButton_clicked(); break;
case 2: _t->on_goback_clicked(); break;
default: ;
}
}
}
const QMetaObject Regist::staticMetaObject = {
{ &QMainWindow::staticMetaObject, qt_meta_stringdata_Regist.data,
qt_meta_data_Regist, qt_static_metacall, Q_NULLPTR, Q_NULLPTR}
};
const QMetaObject *Regist::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *Regist::qt_metacast(const char *_clname)
{
if (!_clname) return Q_NULLPTR;
if (!strcmp(_clname, qt_meta_stringdata_Regist.stringdata0))
return static_cast<void*>(const_cast< Regist*>(this));
return QMainWindow::qt_metacast(_clname);
}
int Regist::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QMainWindow::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 3)
qt_static_metacall(this, _c, _id, _a);
_id -= 3;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 3)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 3;
}
return _id;
}
QT_END_MOC_NAMESPACE
/****************************************************************************
** Meta object code from reading C++ file 'showtable.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.6.3)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../showtable.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'showtable.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.6.3. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
struct qt_meta_stringdata_ShowTable_t {
QByteArrayData data[5];
char stringdata0[48];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_ShowTable_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_ShowTable_t qt_meta_stringdata_ShowTable = {
{
QT_MOC_LITERAL(0, 0, 9), // "ShowTable"
QT_MOC_LITERAL(1, 10, 6), // "dowork"
QT_MOC_LITERAL(2, 17, 0), // ""
QT_MOC_LITERAL(3, 18, 12), // "QSqlDatabase"
QT_MOC_LITERAL(4, 31, 16) // "on_close_clicked"
},
"ShowTable\0dowork\0\0QSqlDatabase\0"
"on_close_clicked"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_ShowTable[] = {
// content:
7, // revision
0, // classname
0, 0, // classinfo
2, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 2, 24, 2, 0x0a /* Public */,
4, 0, 29, 2, 0x08 /* Private */,
// slots: parameters
QMetaType::Void, 0x80000000 | 3, QMetaType::QString, 2, 2,
QMetaType::Void,
0 // eod
};
void ShowTable::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
ShowTable *_t = static_cast<ShowTable *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->dowork((*reinterpret_cast< QSqlDatabase(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
case 1: _t->on_close_clicked(); break;
default: ;
}
}
}
const QMetaObject ShowTable::staticMetaObject = {
{ &QMainWindow::staticMetaObject, qt_meta_stringdata_ShowTable.data,
qt_meta_data_ShowTable, qt_static_metacall, Q_NULLPTR, Q_NULLPTR}
};
const QMetaObject *ShowTable::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *ShowTable::qt_metacast(const char *_clname)
{
if (!_clname) return Q_NULLPTR;
if (!strcmp(_clname, qt_meta_stringdata_ShowTable.stringdata0))
return static_cast<void*>(const_cast< ShowTable*>(this));
return QMainWindow::qt_metacast(_clname);
}
int ShowTable::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QMainWindow::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 2)
qt_static_metacall(this, _c, _id, _a);
_id -= 2;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 2)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 2;
}
return _id;
}
QT_END_MOC_NAMESPACE
/****************************************************************************
** Meta object code from reading C++ file 'userwindow.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.6.3)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../userwindow.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'userwindow.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.6.3. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
struct qt_meta_stringdata_UserWindow_t {
QByteArrayData data[12];
char stringdata0[157];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_UserWindow_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_UserWindow_t qt_meta_stringdata_UserWindow = {
{
QT_MOC_LITERAL(0, 0, 10), // "UserWindow"
QT_MOC_LITERAL(1, 11, 7), // "sendata"
QT_MOC_LITERAL(2, 19, 0), // ""
QT_MOC_LITERAL(3, 20, 12), // "QSqlDatabase"
QT_MOC_LITERAL(4, 33, 7), // "getdata"
QT_MOC_LITERAL(5, 41, 3), // "db1"
QT_MOC_LITERAL(6, 45, 10), // "tablename1"
QT_MOC_LITERAL(7, 56, 19), // "on_usrtable_clicked"
QT_MOC_LITERAL(8, 76, 19), // "on_find_usr_clicked"
QT_MOC_LITERAL(9, 96, 20), // "on_delet_usr_clicked"
QT_MOC_LITERAL(10, 117, 17), // "on_goback_clicked"
QT_MOC_LITERAL(11, 135, 21) // "on_updata_usr_clicked"
},
"UserWindow\0sendata\0\0QSqlDatabase\0"
"getdata\0db1\0tablename1\0on_usrtable_clicked\0"
"on_find_usr_clicked\0on_delet_usr_clicked\0"
"on_goback_clicked\0on_updata_usr_clicked"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_UserWindow[] = {
// content:
7, // revision
0, // classname
0, 0, // classinfo
7, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
1, // signalCount
// signals: name, argc, parameters, tag, flags
1, 2, 49, 2, 0x06 /* Public */,
// slots: name, argc, parameters, tag, flags
4, 2, 54, 2, 0x0a /* Public */,
7, 0, 59, 2, 0x08 /* Private */,
8, 0, 60, 2, 0x08 /* Private */,
9, 0, 61, 2, 0x08 /* Private */,
10, 0, 62, 2, 0x08 /* Private */,
11, 0, 63, 2, 0x08 /* Private */,
// signals: parameters
QMetaType::Void, 0x80000000 | 3, QMetaType::QString, 2, 2,
// slots: parameters
QMetaType::Void, 0x80000000 | 3, QMetaType::QString, 5, 6,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
0 // eod
};
void UserWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
UserWindow *_t = static_cast<UserWindow *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->sendata((*reinterpret_cast< QSqlDatabase(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
case 1: _t->getdata((*reinterpret_cast< QSqlDatabase(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
case 2: _t->on_usrtable_clicked(); break;
case 3: _t->on_find_usr_clicked(); break;
case 4: _t->on_delet_usr_clicked(); break;
case 5: _t->on_goback_clicked(); break;
case 6: _t->on_updata_usr_clicked(); break;
default: ;
}
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
void **func = reinterpret_cast<void **>(_a[1]);
{
typedef void (UserWindow::*_t)(QSqlDatabase , QString );
if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&UserWindow::sendata)) {
*result = 0;
return;
}
}
}
}
const QMetaObject UserWindow::staticMetaObject = {
{ &QMainWindow::staticMetaObject, qt_meta_stringdata_UserWindow.data,
qt_meta_data_UserWindow, qt_static_metacall, Q_NULLPTR, Q_NULLPTR}
};
const QMetaObject *UserWindow::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *UserWindow::qt_metacast(const char *_clname)
{
if (!_clname) return Q_NULLPTR;
if (!strcmp(_clname, qt_meta_stringdata_UserWindow.stringdata0))
return static_cast<void*>(const_cast< UserWindow*>(this));
return QMainWindow::qt_metacast(_clname);
}
int UserWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QMainWindow::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 7)
qt_static_metacall(this, _c, _id, _a);
_id -= 7;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 7)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 7;
}
return _id;
}
// SIGNAL 0
void UserWindow::sendata(QSqlDatabase _t1, QString _t2)
{
void *_a[] = { Q_NULLPTR, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) };
QMetaObject::activate(this, &staticMetaObject, 0, _a);
}
QT_END_MOC_NAMESPACE
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
registwind = new Regist(this);
userwind = new UserWindow(this);
init_database();
connect(this,SIGNAL(sendinfo(QSqlDatabase,QString)),registwind,SLOT(getdata(QSqlDatabase,QString)));
}
MainWindow::~MainWindow()
{
db.close();
delete ui;
}
void MainWindow::init_database()
{
//数据库是否存在
if (QSqlDatabase::contains("mysqlite")) {
//存在
db = QSqlDatabase::database("mysqlite");
}
else {
//不存在,则创建
db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("user.db");
}
//打开数据库
if (!db.open()) {
QMessageBox::about(this,"提示","打开数据库失败!");
}
QSqlQuery sql_query(db);
QString sql = "create table if not exists "
"user(id integer primary key autoincrement,"
"username text not NULL ,password text not NULL);";
if (!sql_query.exec(sql)) {
QMessageBox::about(this,"提示","创建表失败!");
return;
}
}
//注册
void MainWindow::on_pushButton_2_clicked()
{
emit sendinfo(db,"user");
registwind->show();
this->hide();
}
//登录
void MainWindow::on_pushButton_clicked()
{
//查询数据库
QString username = ui->username->text();
QString password = ui->password->text();
QString sql = QString("select * from user where username = '%1' "
"and `password` = '%2';").arg(username,password);
QSqlQuery sql_query(db);
if(!sql_query.exec(sql)) {
QMessageBox::about(this,"提示","没有找到用户");
return;
}
QString usname,psword;
while (sql_query.next()) {
usname = sql_query.value(1).toString();
psword = sql_query.value(2).toString();
}
if (usname == username && psword == password) {
QMessageBox::about(this,"提示","登录成功");
emit sendata(db,"user");
userwind->show();
this->hide();
}
}
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <regist.h>
#include <userwindow.h>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
#include <QDebug>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
void init_database();
signals:
void sendinfo(QSqlDatabase,QString);
void sendata(QSqlDatabase,QString);
private slots:
void on_pushButton_2_clicked();
void on_pushButton_clicked();
private:
Ui::MainWindow *ui;
QSqlDatabase db;
Regist *registwind;
UserWindow *userwind;
};
#endif // MAINWINDOW_H
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>617</width>
<height>360</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>617</width>
<height>360</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>617</width>
<height>360</height>
</size>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralWidget">
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>170</x>
<y>20</y>
<width>261</width>
<height>61</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>24</pointsize>
</font>
</property>
<property name="text">
<string>欢迎进入xxx系统</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
<widget class="QWidget" name="">
<property name="geometry">
<rect>
<x>201</x>
<y>121</y>
<width>211</width>
<height>131</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>用户名:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="username">
<property name="text">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="placeholderText">
<string>请输入用户名</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>密 码:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="password">
<property name="text">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="placeholderText">
<string>请输入密码</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QPushButton" name="pushButton">
<property name="text">
<string>登录</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_2">
<property name="text">
<string>注册</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources/>
<connections/>
</ui>
#include "regist.h"
#include "ui_regist.h"
#include <QMessageBox>
Regist::Regist(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::Regist)
{
ui->setupUi(this);
this->setAttribute(Qt::WA_DeleteOnClose,1);
}
Regist::~Regist()
{
delete ui;
}
void Regist::getdata(QSqlDatabase db1,QString tablename1) {
db = db1;
tablename = tablename1;
}
void Regist::on_pushButton_clicked()
{
QString username = ui->usrname->text();
QString password = ui->psw->text();
QString sql = QString("insert into user(username,password) values('%1','%2');").arg(username).arg(password);
QSqlQuery sql_query(db);
if(!sql_query.exec(sql)) {
QMessageBox::about(this,"提示","注册失败");
return;
}
QMessageBox::about(this,"提示","注册成功");
}
void Regist::on_goback_clicked()
{
this->parentWidget()->show();
this->hide();
}
#ifndef REGIST_H
#define REGIST_H
#include <QMainWindow>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QDebug>
#include <QSqlError>
namespace Ui {
class Regist;
}
class Regist : public QMainWindow
{
Q_OBJECT
public:
explicit Regist(QWidget *parent = 0);
~Regist();
public slots:
void getdata(QSqlDatabase, QString);
private slots:
void on_pushButton_clicked();
void on_goback_clicked();
private:
Ui::Regist *ui;
QSqlDatabase db;
QString tablename;
};
#endif // REGIST_H
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Regist</class>
<widget class="QMainWindow" name="Regist">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>617</width>
<height>360</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>617</width>
<height>360</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>617</width>
<height>360</height>
</size>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QPushButton" name="goback">
<property name="geometry">
<rect>
<x>500</x>
<y>300</y>
<width>75</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>返回</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton">
<property name="geometry">
<rect>
<x>240</x>
<y>240</y>
<width>121</width>
<height>21</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>确认</string>
</property>
</widget>
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>210</x>
<y>80</y>
<width>191</width>
<height>41</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>20</pointsize>
</font>
</property>
<property name="text">
<string>欢迎注册</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
<widget class="QWidget" name="">
<property name="geometry">
<rect>
<x>210</x>
<y>150</y>
<width>191</width>
<height>71</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>用户名</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="usrname"/>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>密 码</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="psw"/>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
</widget>
<resources/>
<connections/>
</ui>
#include "showtable.h"
#include "ui_showtable.h"
ShowTable::ShowTable(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::ShowTable)
{
ui->setupUi(this);
}
ShowTable::~ShowTable()
{
delete ui;
}
void ShowTable::dowork(QSqlDatabase db,QString tablename)
{
QSqlTableModel *model = new QSqlTableModel(ui->tableView,db);
model->setTable(tablename);
model->select();
model->setHeaderData(0,Qt::Horizontal,QObject::tr("编号"));
model->setHeaderData(1,Qt::Horizontal,QObject::tr("usrname"));
model->setHeaderData(2,Qt::Horizontal,QObject::tr("psw"));
ui->tableView->setModel(model);
}
void ShowTable::on_close_clicked()
{
this->close();
}
#ifndef SHOWTABLE_H
#define SHOWTABLE_H
#include <QMainWindow>
#include "QSqlDatabase"
#include "QSqlQuery"
#include "QDebug"
#include "QSqlQueryModel"
#include "qsql.h"
#include "QSqlTableModel"
namespace Ui {
class ShowTable;
}
class ShowTable : public QMainWindow
{
Q_OBJECT
public:
explicit ShowTable(QWidget *parent = 0);
~ShowTable();
public slots:
void dowork(QSqlDatabase,QString);
private slots:
void on_close_clicked();
private:
Ui::ShowTable *ui;
};
#endif // SHOWTABLE_H
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ShowTable</class>
<widget class="QMainWindow" name="ShowTable">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>430</width>
<height>338</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QTableView" name="tableView">
<property name="geometry">
<rect>
<x>60</x>
<y>40</y>
<width>311</width>
<height>241</height>
</rect>
</property>
</widget>
<widget class="QPushButton" name="close">
<property name="geometry">
<rect>
<x>350</x>
<y>300</y>
<width>75</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>关闭</string>
</property>
</widget>
</widget>
</widget>
<resources/>
<connections/>
</ui>
This diff is collapsed.
/********************************************************************************
** Form generated from reading UI file 'regist.ui'
**
** Created by: Qt User Interface Compiler version 5.6.3
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef UI_REGIST_H
#define UI_REGIST_H
#include <QtCore/QVariant>
#include <QtWidgets/QAction>
#include <QtWidgets/QApplication>
#include <QtWidgets/QButtonGroup>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QHeaderView>
#include <QtWidgets/QLabel>
#include <QtWidgets/QLineEdit>
#include <QtWidgets/QMainWindow>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget>
QT_BEGIN_NAMESPACE
class Ui_Regist
{
public:
QWidget *centralwidget;
QPushButton *goback;
QPushButton *pushButton;
QLabel *label;
QWidget *widget;
QVBoxLayout *verticalLayout;
QHBoxLayout *horizontalLayout;
QLabel *label_2;
QLineEdit *usrname;
QHBoxLayout *horizontalLayout_2;
QLabel *label_3;
QLineEdit *psw;
void setupUi(QMainWindow *Regist)
{
if (Regist->objectName().isEmpty())
Regist->setObjectName(QStringLiteral("Regist"));
Regist->resize(617, 360);
Regist->setMinimumSize(QSize(617, 360));
Regist->setMaximumSize(QSize(617, 360));
centralwidget = new QWidget(Regist);
centralwidget->setObjectName(QStringLiteral("centralwidget"));
goback = new QPushButton(centralwidget);
goback->setObjectName(QStringLiteral("goback"));
goback->setGeometry(QRect(500, 300, 75, 23));
pushButton = new QPushButton(centralwidget);
pushButton->setObjectName(QStringLiteral("pushButton"));
pushButton->setGeometry(QRect(240, 240, 121, 21));
pushButton->setMinimumSize(QSize(0, 0));
label = new QLabel(centralwidget);
label->setObjectName(QStringLiteral("label"));
label->setGeometry(QRect(210, 80, 191, 41));
QFont font;
font.setPointSize(20);
label->setFont(font);
label->setAlignment(Qt::AlignCenter);
widget = new QWidget(centralwidget);
widget->setObjectName(QStringLiteral("widget"));
widget->setGeometry(QRect(210, 150, 191, 71));
verticalLayout = new QVBoxLayout(widget);
verticalLayout->setObjectName(QStringLiteral("verticalLayout"));
verticalLayout->setContentsMargins(0, 0, 0, 0);
horizontalLayout = new QHBoxLayout();
horizontalLayout->setObjectName(QStringLiteral("horizontalLayout"));
label_2 = new QLabel(widget);
label_2->setObjectName(QStringLiteral("label_2"));
horizontalLayout->addWidget(label_2);
usrname = new QLineEdit(widget);
usrname->setObjectName(QStringLiteral("usrname"));
horizontalLayout->addWidget(usrname);
verticalLayout->addLayout(horizontalLayout);
horizontalLayout_2 = new QHBoxLayout();
horizontalLayout_2->setObjectName(QStringLiteral("horizontalLayout_2"));
label_3 = new QLabel(widget);
label_3->setObjectName(QStringLiteral("label_3"));
horizontalLayout_2->addWidget(label_3);
psw = new QLineEdit(widget);
psw->setObjectName(QStringLiteral("psw"));
horizontalLayout_2->addWidget(psw);
verticalLayout->addLayout(horizontalLayout_2);
Regist->setCentralWidget(centralwidget);
retranslateUi(Regist);
QMetaObject::connectSlotsByName(Regist);
} // setupUi
void retranslateUi(QMainWindow *Regist)
{
Regist->setWindowTitle(QApplication::translate("Regist", "MainWindow", Q_NULLPTR));
goback->setText(QApplication::translate("Regist", "\350\277\224\345\233\236", Q_NULLPTR));
pushButton->setText(QApplication::translate("Regist", "\347\241\256\350\256\244", Q_NULLPTR));
label->setText(QApplication::translate("Regist", "\346\254\242\350\277\216\346\263\250\345\206\214", Q_NULLPTR));
label_2->setText(QApplication::translate("Regist", "\347\224\250\346\210\267\345\220\215", Q_NULLPTR));
label_3->setText(QApplication::translate("Regist", "\345\257\206 \347\240\201", Q_NULLPTR));
} // retranslateUi
};
namespace Ui {
class Regist: public Ui_Regist {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_REGIST_H
This diff is collapsed.
This diff is collapsed.
File added
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment