Apply new ttf for linux font.
This commit is contained in:
@@ -11,7 +11,7 @@
|
|||||||
#include <QLineEdit>
|
#include <QLineEdit>
|
||||||
#include <QAbstractSpinBox>
|
#include <QAbstractSpinBox>
|
||||||
|
|
||||||
InputObject::InputObject(QWidget *parent) :
|
InputObject::InputObject(QWidget* parent) :
|
||||||
QWidget(parent),
|
QWidget(parent),
|
||||||
ui(new Ui::InputObject)
|
ui(new Ui::InputObject)
|
||||||
{
|
{
|
||||||
@@ -40,7 +40,7 @@ void InputObject::initUi()
|
|||||||
"QLineEdit,QDateEdit{background-color: rgba(0,0,0,0.5);\
|
"QLineEdit,QDateEdit{background-color: rgba(0,0,0,0.5);\
|
||||||
min-height:100px;max-height:100px; min-width:500px;max-width:500px;\
|
min-height:100px;max-height:100px; min-width:500px;max-width:500px;\
|
||||||
border: 2px solid #ef9cba; border-radius:20px;\
|
border: 2px solid #ef9cba; border-radius:20px;\
|
||||||
font-family:Microsoft YaHei; color:white;margin:0;font-size:36px;}"
|
color:white;margin:0;font-size:36px;}"
|
||||||
"QTextEdit{background-color: rgba(0,0,0,0.5);\
|
"QTextEdit{background-color: rgba(0,0,0,0.5);\
|
||||||
min-height:300px;max-height:300px; min-width:700px;max-width:700px;\
|
min-height:300px;max-height:300px; min-width:700px;max-width:700px;\
|
||||||
border: 2px solid #ef9cba; border-radius:20px;\
|
border: 2px solid #ef9cba; border-radius:20px;\
|
||||||
@@ -55,7 +55,7 @@ void InputObject::initUi()
|
|||||||
"QLineEdit,QDateEdit,QTextEdit{\
|
"QLineEdit,QDateEdit,QTextEdit{\
|
||||||
background:qlineargradient(x1:0,y1:0,x2:1,y2:1,stop: 0.0 silver, stop: 1.0 grey);\
|
background:qlineargradient(x1:0,y1:0,x2:1,y2:1,stop: 0.0 silver, stop: 1.0 grey);\
|
||||||
border: 1px solid #1e1b18; border-radius:20px;\
|
border: 1px solid #1e1b18; border-radius:20px;\
|
||||||
font-family:Microsoft YaHei; color:black;margin:0;font-size:36px;}"
|
color:black;margin:0;font-size:36px;}"
|
||||||
|
|
||||||
"QLineEdit,QDateEdit{min-height:100px; max-height:100px; min-width:500px; max-width:500px;}"
|
"QLineEdit,QDateEdit{min-height:100px; max-height:100px; min-width:500px; max-width:500px;}"
|
||||||
"QTextEdit{min-height:300px;max-height:300px; min-width:700px;max-width:700px;}"
|
"QTextEdit{min-height:300px;max-height:300px; min-width:700px;max-width:700px;}"
|
||||||
@@ -79,20 +79,20 @@ void InputObject::initUi()
|
|||||||
this->HidePanel();
|
this->HidePanel();
|
||||||
this->hide();
|
this->hide();
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
bool InputObject::eventFilter(QObject *obj, QEvent *event)
|
bool InputObject::eventFilter(QObject* obj, QEvent* event)
|
||||||
{
|
{
|
||||||
|
|
||||||
//mouse button release means setfocus is useless
|
//mouse button release means setfocus is useless
|
||||||
if (event->type() == QEvent::MouseButtonRelease)
|
if (event->type() == QEvent::MouseButtonRelease)
|
||||||
{
|
{
|
||||||
//qDebug() << obj << event->type();
|
//qDebug() << obj << event->type();
|
||||||
|
|
||||||
if (obj->objectName() == QString("qt_spinbox_lineedit"))
|
if (obj->objectName() == QString("qt_spinbox_lineedit"))
|
||||||
{
|
{
|
||||||
QDateEdit *_date = qobject_cast<QDateEdit*>(obj->parent());
|
QDateEdit* _date = qobject_cast<QDateEdit*>(obj->parent());
|
||||||
if (_date == ui->dateEdit)return true;
|
if (_date == ui->dateEdit)return true;
|
||||||
if (_date->isEnabled())
|
if (_date->isEnabled())
|
||||||
{
|
{
|
||||||
@@ -102,7 +102,7 @@ bool InputObject::eventFilter(QObject *obj, QEvent *event)
|
|||||||
}
|
}
|
||||||
if (obj->objectName() == QString("qt_scrollarea_viewport"))
|
if (obj->objectName() == QString("qt_scrollarea_viewport"))
|
||||||
{
|
{
|
||||||
QTextEdit *_text= qobject_cast<QTextEdit*>(obj->parent());
|
QTextEdit* _text = qobject_cast<QTextEdit*>(obj->parent());
|
||||||
if (!_text) return false;
|
if (!_text) return false;
|
||||||
if (_text == ui->textEdit) return true; //
|
if (_text == ui->textEdit) return true; //
|
||||||
if (_text->isEnabled())
|
if (_text->isEnabled())
|
||||||
@@ -113,7 +113,7 @@ bool InputObject::eventFilter(QObject *obj, QEvent *event)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (obj->inherits("QLineEdit")) {
|
if (obj->inherits("QLineEdit")) {
|
||||||
QLineEdit *tbx = qobject_cast<QLineEdit*>(obj);
|
QLineEdit* tbx = qobject_cast<QLineEdit*>(obj);
|
||||||
//you have to tell whether it is coming from qdateedit!!!
|
//you have to tell whether it is coming from qdateedit!!!
|
||||||
if (ui->lineEdit != tbx && tbx->isEnabled())
|
if (ui->lineEdit != tbx && tbx->isEnabled())
|
||||||
{
|
{
|
||||||
@@ -126,7 +126,7 @@ bool InputObject::eventFilter(QObject *obj, QEvent *event)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -167,10 +167,10 @@ void InputObject::ShowPanel() {
|
|||||||
ui->lineEdit->setEchoMode(curLine->echoMode());
|
ui->lineEdit->setEchoMode(curLine->echoMode());
|
||||||
ui->lineEdit->setInputMethodHints(Qt::InputMethodHint::ImhNoAutoUppercase);
|
ui->lineEdit->setInputMethodHints(Qt::InputMethodHint::ImhNoAutoUppercase);
|
||||||
ui->lineEdit->setFocus();
|
ui->lineEdit->setFocus();
|
||||||
while (QGuiApplication::focusObject() != ui->lineEdit)
|
while (QGuiApplication::focusObject() != ui->lineEdit)
|
||||||
{
|
{
|
||||||
qApp->processEvents();
|
qApp->processEvents();
|
||||||
}
|
}
|
||||||
|
|
||||||
QEvent event(QEvent::RequestSoftwareInputPanel);
|
QEvent event(QEvent::RequestSoftwareInputPanel);
|
||||||
QApplication::sendEvent(ui->lineEdit, &event);
|
QApplication::sendEvent(ui->lineEdit, &event);
|
||||||
@@ -178,7 +178,7 @@ void InputObject::ShowPanel() {
|
|||||||
}
|
}
|
||||||
if (curDateEdit)
|
if (curDateEdit)
|
||||||
{
|
{
|
||||||
|
|
||||||
ui->dateEdit->setDateTime(curDateEdit->dateTime());
|
ui->dateEdit->setDateTime(curDateEdit->dateTime());
|
||||||
ui->dateEdit->setFocus();
|
ui->dateEdit->setFocus();
|
||||||
while (QGuiApplication::focusObject() != ui->dateEdit)
|
while (QGuiApplication::focusObject() != ui->dateEdit)
|
||||||
|
|||||||
@@ -14,17 +14,17 @@
|
|||||||
#define splitFlag QString("-")
|
#define splitFlag QString("-")
|
||||||
|
|
||||||
LoginWindow::LoginWindow(QWidget* parent)
|
LoginWindow::LoginWindow(QWidget* parent)
|
||||||
: QDialog(parent)
|
: QDialog(parent)
|
||||||
, m_pLoginButton(nullptr)
|
, m_pLoginButton(nullptr)
|
||||||
, m_pVMainLayout(nullptr)
|
, m_pVMainLayout(nullptr)
|
||||||
, m_pUserCodeFrame(nullptr)
|
, m_pUserCodeFrame(nullptr)
|
||||||
, m_pUserCodeLayout(nullptr)
|
, m_pUserCodeLayout(nullptr)
|
||||||
, m_pUserCodeEdit(nullptr)
|
, m_pUserCodeEdit(nullptr)
|
||||||
, m_pPassWordEdit(nullptr)
|
, m_pPassWordEdit(nullptr)
|
||||||
{
|
{
|
||||||
initUi();
|
initUi();
|
||||||
init();
|
init();
|
||||||
setWindowFlags(windowFlags() | Qt::Window | Qt::FramelessWindowHint | Qt::WindowSystemMenuHint);
|
setWindowFlags(windowFlags() | Qt::Window | Qt::FramelessWindowHint | Qt::WindowSystemMenuHint);
|
||||||
//Dialog::Instance()->InitForm();
|
//Dialog::Instance()->InitForm();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -36,68 +36,68 @@ LoginWindow::~LoginWindow()
|
|||||||
|
|
||||||
void LoginWindow::initUi()
|
void LoginWindow::initUi()
|
||||||
{
|
{
|
||||||
QString style = "*{background-color:#3c3c3c; font-family:Microsoft YaHei; color:white;margin:0;font-size:16px;}"
|
QString style = "*{background-color:#3c3c3c; color:white;margin:0;font-size:16px;}"
|
||||||
"QLabel#title{font-Size:98px;color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,"
|
"QLabel#title{font-Size:98px;color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,"
|
||||||
"stop: 0.0 darkgray, stop: 0.5 lightgray, stop: 1.0 darkgray);}"
|
"stop: 0.0 darkgray, stop: 0.5 lightgray, stop: 1.0 darkgray);}"
|
||||||
"QLabel#warn{color:#930000;background:transparent;font-size:20px;}"
|
"QLabel#warn{color:#930000;background:transparent;font-size:20px;}"
|
||||||
"QFrame#login_frame_username{min-width:700px;max-width:700px;max-height:500px;min-height:500px;"
|
"QFrame#login_frame_username{min-width:700px;max-width:700px;max-height:500px;min-height:500px;"
|
||||||
"border:1px solid #0078d8;border-radius:20px;"
|
"border:1px solid #0078d8;border-radius:20px;"
|
||||||
"background:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,\n"
|
"background:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,\n"
|
||||||
" stop: 0.0 darkgray, stop: 0.5 gray, stop: 1.0 darkgray);"
|
" stop: 0.0 darkgray, stop: 0.5 gray, stop: 1.0 darkgray);"
|
||||||
"}"
|
"}"
|
||||||
"QLineEdit{min-height:100px;max-height:100px; border:1px solid silver;border-radius:10px;font-size:26px;}"
|
"QLineEdit{min-height:100px;max-height:100px; border:1px solid silver;border-radius:10px;font-size:26px;}"
|
||||||
"QLineEdit:enabled{background-color: #515151}"
|
"QLineEdit:enabled{background-color: #515151}"
|
||||||
"QComboBox{text-align:center;min-height:100px;max-height:100px; "
|
"QComboBox{text-align:center;min-height:100px;max-height:100px; "
|
||||||
"border:1px solid silver;border-radius:10px;padding:3px}"
|
"border:1px solid silver;border-radius:10px;padding:3px}"
|
||||||
"QComboBox:enabled{background-color: #515151}"
|
"QComboBox:enabled{background-color: #515151}"
|
||||||
"QComboBox::drop-down{width:80px;border-radius:10px}"
|
"QComboBox::drop-down{width:80px;border-radius:10px}"
|
||||||
"QComboBox QAbstractItemView{min-width:120px;}"
|
"QComboBox QAbstractItemView{min-width:120px;}"
|
||||||
"QComboBox QAbstractItemView::item {min-height:60px;max-height:60px; border:1px solid white;}"
|
"QComboBox QAbstractItemView::item {min-height:60px;max-height:60px; border:1px solid white;}"
|
||||||
"QToolButton{min-height:100px;max-height:100px;border:1px solid #505050;"
|
"QToolButton{min-height:100px;max-height:100px;border:1px solid #505050;"
|
||||||
"border-radius:10%;font-size:26px; font-weight:Bold;padding:5px;}"
|
"border-radius:10%;font-size:26px; font-weight:Bold;padding:5px;}"
|
||||||
"QToolButton:hover{background:#505050;}";
|
"QToolButton:hover{background:#505050;}";
|
||||||
setStyleSheet(style);
|
setStyleSheet(style);
|
||||||
|
|
||||||
m_pVMainLayout = new QVBoxLayout(this);
|
m_pVMainLayout = new QVBoxLayout(this);
|
||||||
m_pVMainLayout->setContentsMargins(0, 0, 0, 0);
|
m_pVMainLayout->setContentsMargins(0, 0, 0, 0);
|
||||||
m_pVMainLayout->setSpacing(0);
|
m_pVMainLayout->setSpacing(0);
|
||||||
m_pVMainLayout->addSpacerItem(new QSpacerItem(20,20,QSizePolicy::Minimum,QSizePolicy::Expanding));
|
m_pVMainLayout->addSpacerItem(new QSpacerItem(20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding));
|
||||||
|
|
||||||
QLabel* title = new QLabel(this);
|
QLabel* title = new QLabel(this);
|
||||||
title->setObjectName("title");
|
title->setObjectName("title");
|
||||||
title->setText("U S C T");
|
title->setText("U S C T");
|
||||||
m_pVMainLayout->addWidget(title,0,Qt::AlignCenter);
|
m_pVMainLayout->addWidget(title, 0, Qt::AlignCenter);
|
||||||
m_pUserCodeFrame = new QFrame(this);
|
m_pUserCodeFrame = new QFrame(this);
|
||||||
m_pUserCodeFrame->setObjectName("login_frame_username");
|
m_pUserCodeFrame->setObjectName("login_frame_username");
|
||||||
m_pUserCodeLayout = new QVBoxLayout(m_pUserCodeFrame);
|
m_pUserCodeLayout = new QVBoxLayout(m_pUserCodeFrame);
|
||||||
m_pUserCodeLayout->setSpacing(30);
|
m_pUserCodeLayout->setSpacing(30);
|
||||||
m_pUserCodeLayout->setContentsMargins(20,60,20,20);
|
m_pUserCodeLayout->setContentsMargins(20, 60, 20, 20);
|
||||||
warn = new QLabel(this);
|
warn = new QLabel(this);
|
||||||
warn->setObjectName("warn");
|
warn->setObjectName("warn");
|
||||||
warn->setText("Login failed, username or password error!");
|
warn->setText("Login failed, username or password error!");
|
||||||
warn->setVisible(false);
|
warn->setVisible(false);
|
||||||
m_pUserCodeLayout->addWidget(warn,0,Qt::AlignCenter);
|
m_pUserCodeLayout->addWidget(warn, 0, Qt::AlignCenter);
|
||||||
m_pUserCodeEdit = new QLineEdit(m_pUserCodeFrame);
|
m_pUserCodeEdit = new QLineEdit(m_pUserCodeFrame);
|
||||||
m_pUserCodeEdit->setObjectName("combobox_UserName");
|
m_pUserCodeEdit->setObjectName("combobox_UserName");
|
||||||
|
|
||||||
//m_pUserCodeEdit->setLineEdit(new QLineEdit(m_pUserCodeFrame));
|
//m_pUserCodeEdit->setLineEdit(new QLineEdit(m_pUserCodeFrame));
|
||||||
|
|
||||||
m_pUserCodeEdit->setPlaceholderText(tr("Username"));
|
m_pUserCodeEdit->setPlaceholderText(tr("Username"));
|
||||||
m_pUserCodeLayout->addWidget(m_pUserCodeEdit);
|
m_pUserCodeLayout->addWidget(m_pUserCodeEdit);
|
||||||
m_pVMainLayout->addWidget(m_pUserCodeFrame,0,Qt::AlignCenter);
|
m_pVMainLayout->addWidget(m_pUserCodeFrame, 0, Qt::AlignCenter);
|
||||||
|
|
||||||
m_pPassWordEdit = new QLineEdit(this);
|
m_pPassWordEdit = new QLineEdit(this);
|
||||||
m_pPassWordEdit->setObjectName("edt_Password");
|
m_pPassWordEdit->setObjectName("edt_Password");
|
||||||
m_pPassWordEdit->setEchoMode(QLineEdit::Password);
|
m_pPassWordEdit->setEchoMode(QLineEdit::Password);
|
||||||
m_pPassWordEdit->setPlaceholderText(tr("Password"));
|
m_pPassWordEdit->setPlaceholderText(tr("Password"));
|
||||||
m_pUserCodeLayout->addWidget(m_pPassWordEdit);
|
m_pUserCodeLayout->addWidget(m_pPassWordEdit);
|
||||||
|
|
||||||
ADD_TOOL_BTN_TO_LAYOUT(login,":/icons/login.png",m_pUserCodeLayout);
|
ADD_TOOL_BTN_TO_LAYOUT(login, ":/icons/login.png", m_pUserCodeLayout);
|
||||||
m_pUserCodeLayout->removeWidget(btnlogin);
|
m_pUserCodeLayout->removeWidget(btnlogin);
|
||||||
m_pUserCodeLayout->addWidget(btnlogin,0,Qt::AlignCenter);
|
m_pUserCodeLayout->addWidget(btnlogin, 0, Qt::AlignCenter);
|
||||||
m_pLoginButton = btnlogin;
|
m_pLoginButton = btnlogin;
|
||||||
// m_pUserCodeLayout->addWidget(m_pLoginButton, 0, Qt::AlignCenter);
|
// m_pUserCodeLayout->addWidget(m_pLoginButton, 0, Qt::AlignCenter);
|
||||||
m_pVMainLayout->addSpacerItem(new QSpacerItem(20,20,QSizePolicy::Minimum,QSizePolicy::Expanding));
|
m_pVMainLayout->addSpacerItem(new QSpacerItem(20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding));
|
||||||
|
|
||||||
initUserList();
|
initUserList();
|
||||||
}
|
}
|
||||||
@@ -109,63 +109,64 @@ void LoginWindow::init()
|
|||||||
|
|
||||||
void LoginWindow::initUserList()
|
void LoginWindow::initUserList()
|
||||||
{
|
{
|
||||||
// userList = UserService::queryUserInfo("");
|
// userList = UserService::queryUserInfo("");
|
||||||
// for (int i = 0; i < userList.count(); i++)
|
// for (int i = 0; i < userList.count(); i++)
|
||||||
// {
|
// {
|
||||||
// QString userCode = userList.at(i)->getUserCode();
|
// QString userCode = userList.at(i)->getUserCode();
|
||||||
// //QString userName = userList.at(i)->getUserName();
|
// //QString userName = userList.at(i)->getUserName();
|
||||||
// //m_pUserCodeEdit->addItem(userCode + splitFlag + userName);
|
// //m_pUserCodeEdit->addItem(userCode + splitFlag + userName);
|
||||||
// m_pUserCodeEdit->addItem(userCode);
|
// m_pUserCodeEdit->addItem(userCode);
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
void LoginWindow::clearInputData()
|
void LoginWindow::clearInputData()
|
||||||
{
|
{
|
||||||
m_pUserCodeEdit->clear();
|
m_pUserCodeEdit->clear();
|
||||||
m_pPassWordEdit->clear();
|
m_pPassWordEdit->clear();
|
||||||
//m_pUserCodeEdit->setFocus();
|
//m_pUserCodeEdit->setFocus();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString getEncryptedPassword(const QString& password)
|
QString getEncryptedPassword(const QString& password)
|
||||||
{
|
{
|
||||||
QByteArray bytePwd = password.toLatin1();
|
QByteArray bytePwd = password.toLatin1();
|
||||||
QByteArray bytePwdMd5 = QCryptographicHash::hash(bytePwd, QCryptographicHash::Md5);
|
QByteArray bytePwdMd5 = QCryptographicHash::hash(bytePwd, QCryptographicHash::Md5);
|
||||||
return bytePwdMd5.toHex();
|
return bytePwdMd5.toHex();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void LoginWindow::doLogin()
|
void LoginWindow::doLogin()
|
||||||
{
|
{
|
||||||
QString strUserCode = m_pUserCodeEdit->text();
|
QString strUserCode = m_pUserCodeEdit->text();
|
||||||
QString strPassWord = m_pPassWordEdit->text();
|
QString strPassWord = m_pPassWordEdit->text();
|
||||||
|
|
||||||
QString encryptedPassword = strPassWord;
|
QString encryptedPassword = strPassWord;
|
||||||
strPassWord = "12345678";
|
strPassWord = "12345678";
|
||||||
|
|
||||||
|
|
||||||
QString encryptPwd = getEncryptedPassword(strPassWord);
|
QString encryptPwd = getEncryptedPassword(strPassWord);
|
||||||
QString sql = QString("select UserCode from Account where UserCode='%1' and Password='%2'")
|
QString sql = QString("select UserCode from Account where UserCode='%1' and Password='%2'")
|
||||||
.arg(strUserCode).arg(encryptPwd);
|
.arg(strUserCode).arg(encryptPwd);
|
||||||
if (SQLHelper::QueryCount(sql)>0)
|
if (SQLHelper::QueryCount(sql) > 0)
|
||||||
{
|
{
|
||||||
accept();
|
accept();
|
||||||
} else{
|
}
|
||||||
warn->setVisible(true);
|
else {
|
||||||
}
|
warn->setVisible(true);
|
||||||
// bool isLoginSuccess = UserService::ValidateAccount(strUserCode, encryptedPassword);
|
}
|
||||||
// if (isLoginSuccess)
|
// bool isLoginSuccess = UserService::ValidateAccount(strUserCode, encryptedPassword);
|
||||||
// {
|
// if (isLoginSuccess)
|
||||||
// accept();
|
// {
|
||||||
// emit sigUserLoginSuccessful(strUserCode);
|
// accept();
|
||||||
// }
|
// emit sigUserLoginSuccessful(strUserCode);
|
||||||
// else
|
// }
|
||||||
// {
|
// else
|
||||||
// EQ9MessageBox box;
|
// {
|
||||||
// box.setMessage(tr("login failed, please check input data"));
|
// EQ9MessageBox box;
|
||||||
// box.exec();
|
// box.setMessage(tr("login failed, please check input data"));
|
||||||
// return;
|
// box.exec();
|
||||||
// }
|
// return;
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
//void LoginWindow::onUserCodeFocusOut(QFocusEvent* e)
|
//void LoginWindow::onUserCodeFocusOut(QFocusEvent* e)
|
||||||
|
|||||||
74
src/main.cpp
74
src/main.cpp
@@ -1,46 +1,68 @@
|
|||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include "loginwindow.h"
|
#include "loginwindow.h"
|
||||||
#include "InputObject.h"
|
#include "InputObject.h"
|
||||||
#include <QQmlApplicationEngine>
|
#include <QQmlApplicationEngine>
|
||||||
#include <src/db/SQLHelper.h>
|
#include <src/db/SQLHelper.h>
|
||||||
#include <QTextCodec>
|
#include <QTextCodec>
|
||||||
int main(int argc, char *argv[])
|
#include <QFontDatabase>
|
||||||
|
QString loadFontFromFile(QString path)
|
||||||
|
{
|
||||||
|
static QString font;
|
||||||
|
static bool loaded = false;
|
||||||
|
if (!loaded)
|
||||||
|
{
|
||||||
|
loaded = true;
|
||||||
|
int loadedFontID = QFontDatabase::addApplicationFont(path);
|
||||||
|
QStringList loadedFontFamilies = QFontDatabase::applicationFontFamilies(loadedFontID);
|
||||||
|
if (!loadedFontFamilies.empty())
|
||||||
|
font = loadedFontFamilies.at(0);
|
||||||
|
}
|
||||||
|
return font;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
//QLocale::setDefault(QLocale::English);
|
//QLocale::setDefault(QLocale::English);
|
||||||
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
|
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
|
||||||
|
#ifdef CUTE_STYLE
|
||||||
|
qputenv("QT_VIRTUALKEYBOARD_STYLE", QByteArray("retro"));
|
||||||
|
#endif // CUTE_STYLE
|
||||||
|
|
||||||
//qputenv("QT_LOGGING_RULES", QByteArray("qt.virtualkeyboard=true"));
|
//qputenv("QT_LOGGING_RULES", QByteArray("qt.virtualkeyboard=true"));
|
||||||
|
|
||||||
|
|
||||||
QApplication a(argc, argv);
|
QApplication a(argc, argv);
|
||||||
QString layouts_path = QString(QCoreApplication::applicationDirPath()).append("/layouts");
|
QString layouts_path = QString(QCoreApplication::applicationDirPath()).append("/layouts");
|
||||||
qputenv("QT_VIRTUALKEYBOARD_LAYOUT_PATH", QByteArray(layouts_path.toStdString().c_str()));
|
qputenv("QT_VIRTUALKEYBOARD_LAYOUT_PATH", QByteArray(layouts_path.toStdString().c_str()));
|
||||||
|
|
||||||
QQmlApplicationEngine engine;
|
QTextCodec* codec = QTextCodec::codecForName("utf8");
|
||||||
engine.addImportPath("/VirtualKeyboard/content/styles");
|
QTextCodec::setCodecForLocale(codec);
|
||||||
#ifdef CUTE_STYLE
|
|
||||||
qputenv("QT_VIRTUALKEYBOARD_STYLE", QByteArray("retro"));
|
//QString fontName = loadFontFromFile(":/fonts/MicrosoftYahei.ttf");
|
||||||
#else
|
QString fontName = loadFontFromFile(":/fonts/DroidSansFallback.ttf");
|
||||||
qputenv("QT_VIRTUALKEYBOARD_STYLE", QByteArray("default"));
|
|
||||||
#endif
|
|
||||||
QTextCodec *codec = QTextCodec::codecForName("utf8");
|
QFont font(fontName);
|
||||||
QTextCodec::setCodecForLocale(codec);
|
QApplication::setFont(font);
|
||||||
|
|
||||||
//a.installEventFilter(obj);
|
//a.installEventFilter(obj);
|
||||||
InputObject *obj = new InputObject();
|
InputObject* obj = new InputObject();
|
||||||
a.installEventFilter(obj);
|
a.installEventFilter(obj);
|
||||||
SQLHelper::Open();
|
SQLHelper::Open();
|
||||||
MainWindow w;
|
MainWindow w;
|
||||||
w.showFullScreen();
|
w.showFullScreen();
|
||||||
LoginWindow l;
|
LoginWindow l;
|
||||||
needLogin:
|
needLogin:
|
||||||
l.showFullScreen();
|
l.showFullScreen();
|
||||||
int rec = l.exec();
|
int rec = l.exec();
|
||||||
if (rec !=QDialog::Accepted )
|
if (rec != QDialog::Accepted)
|
||||||
{
|
{
|
||||||
goto needLogin;
|
goto needLogin;
|
||||||
}
|
}
|
||||||
// l.deleteLater();
|
// l.deleteLater();
|
||||||
w.centerWidgetShow();
|
w.centerWidgetShow();
|
||||||
|
|
||||||
|
|
||||||
return a.exec();
|
return a.exec();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,140 +10,143 @@
|
|||||||
#include "guimessagedialog.h"
|
#include "guimessagedialog.h"
|
||||||
#include "device/DeviceManager.h"
|
#include "device/DeviceManager.h"
|
||||||
|
|
||||||
MainWindow::MainWindow(QWidget *parent) :
|
MainWindow::MainWindow(QWidget* parent) :
|
||||||
QMainWindow(parent),
|
QMainWindow(parent),
|
||||||
ui(new Ui::MainWindow)
|
ui(new Ui::MainWindow)
|
||||||
{
|
{
|
||||||
const QString style = "*{background-color:#3c3c3c; font-family:Microsoft YaHei; color:white;margin:0;font-size:16px;}"
|
const QString style = "*{background-color:#3c3c3c; color:white;margin:0;font-size:16px;}"
|
||||||
"QTabBar::tab {\n"
|
"QTabBar::tab {\n"
|
||||||
"height:60px;"
|
"height:60px;"
|
||||||
"width:300px;"
|
"width:300px;"
|
||||||
"font-size: 25px;"
|
"font-size: 25px;"
|
||||||
"background:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,\"\n"
|
"background:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,\"\n"
|
||||||
"stop: 0 #333333, stop: 1.0 #555555);"
|
"stop: 0 #333333, stop: 1.0 #555555);"
|
||||||
"border: 2px solid #505050;\n"
|
"border: 2px solid #505050;\n"
|
||||||
// "border-bottom-color: #323232; /* same as the pane color */\n"
|
// "border-bottom-color: #323232; /* same as the pane color */\n"
|
||||||
"border-bottom-left-radius: 50%;\n"
|
"border-bottom-left-radius: 50%;\n"
|
||||||
"border-bottom-right-radius: 50%;\n"
|
"border-bottom-right-radius: 50%;\n"
|
||||||
"min-width: 8ex;\n"
|
"min-width: 8ex;\n"
|
||||||
"padding: 2px;\n"
|
"padding: 2px;\n"
|
||||||
"}"
|
"}"
|
||||||
"QTabBar::tab:selected, QTabBar::tab:hover {"
|
"QTabBar::tab:selected, QTabBar::tab:hover {"
|
||||||
"border-top:5px solid #4a88c7;\n"
|
"border-top:5px solid #4a88c7;\n"
|
||||||
"background: #505050;}"
|
"background: #505050;}"
|
||||||
"QTabWidget::pane{margin:0}"
|
"QTabWidget::pane{margin:0}"
|
||||||
"QLineEdit{min-height:36px;max-height:36px; border:1px solid silver}"
|
"QLineEdit{min-height:36px;max-height:36px; border:1px solid silver}"
|
||||||
"QLineEdit:enabled{background-color: #515151}"
|
"QLineEdit:enabled{background-color: #515151}"
|
||||||
"QDateEdit{min-height:36px;max-height:36px; border:1px solid silver}"
|
"QDateEdit{min-height:36px;max-height:36px; border:1px solid silver}"
|
||||||
"QDateEdit:enabled{background-color: #515151}"
|
"QDateEdit:enabled{background-color: #515151}"
|
||||||
"QTextEdit{border:1px solid silver}"
|
"QTextEdit{border:1px solid silver}"
|
||||||
"QTextEdit:enabled{background-color: #515151}"
|
"QTextEdit:enabled{background-color: #515151}"
|
||||||
"QComboBox{text-align:center;min-height:36px;max-height:36px; border:1px solid silver}"
|
"QComboBox{text-align:center;min-height:36px;max-height:36px; border:1px solid silver}"
|
||||||
"QComboBox:enabled{background-color: #515151}"
|
"QComboBox:enabled{background-color: #515151}"
|
||||||
"QComboBox::drop-down{width:20px}"
|
"QComboBox::drop-down{width:20px}"
|
||||||
"QComboBox QAbstractItemView{min-width:120px;}"
|
"QComboBox QAbstractItemView{min-width:120px;}"
|
||||||
"QComboBox QAbstractItemView::item {min-height:60px;max-height:60px; border:1px solid white;}"
|
"QComboBox QAbstractItemView::item {min-height:60px;max-height:60px; border:1px solid white;}"
|
||||||
"QScrollBar:vertical {min-width: 50px;}"
|
"QScrollBar:vertical {min-width: 50px;}"
|
||||||
"QLabel{color:white; font-weight:bold; font-size:16px;}\n"
|
"QLabel{color:white; font-weight:bold; font-size:16px;}\n"
|
||||||
"QWidget#topbarWidget{min-height:36px;max-height:36px;}\n"
|
"QWidget#topbarWidget{min-height:36px;max-height:36px;}\n"
|
||||||
"QWidget#contentWidget{border-top:1px solid #515151;}\n"
|
"QWidget#contentWidget{border-top:1px solid #515151;}\n"
|
||||||
"QWidget#commandWidget{min-height:123px;max-height:123px;border-top:1px solid #515151; border-bottom:1px solid #323232;}\n"
|
"QWidget#commandWidget{min-height:123px;max-height:123px;border-top:1px solid #515151; border-bottom:1px solid #323232;}\n"
|
||||||
"QLabel#logo{min-width:30px;max-width:30px}\n"
|
"QLabel#logo{min-width:30px;max-width:30px}\n"
|
||||||
"QLabel#company{min-width:150px;max-width:150px; }\n"
|
"QLabel#company{min-width:150px;max-width:150px; }\n"
|
||||||
"QLabel#systemMsgBar{min-width:500px;}\n"
|
"QLabel#systemMsgBar{min-width:500px;}\n"
|
||||||
"QWidget QWidget#statusBarWidget{min-width:300px;}\n"
|
"QWidget QWidget#statusBarWidget{min-width:300px;}\n"
|
||||||
"QWidget QToolButton{border:none;border-radius:10%;font-size:26px; font-weight:Bold;padding:5px;}\n"
|
"QWidget QToolButton{border:none;border-radius:10%;font-size:26px; font-weight:Bold;padding:5px;}\n"
|
||||||
"QToolButton#btn_main{border:2px solid #0078d8;border-radius:10%;font-size:26px; font-weight:Bold;padding:5px;}\n"
|
"QToolButton#btn_main{border:2px solid #0078d8;border-radius:10%;font-size:26px; font-weight:Bold;padding:5px;}\n"
|
||||||
"QWidget QToolButton:disabled{color:#606060 }\n"
|
"QWidget QToolButton:disabled{color:#606060 }\n"
|
||||||
"QWidget QToolButton:hover{background:#505050;}\n"
|
"QWidget QToolButton:hover{background:#505050;}\n"
|
||||||
"QWidget QToolButton:checked{border:5px solid darkorange;padding:0px;}"
|
"QWidget QToolButton:checked{border:5px solid darkorange;padding:0px;}"
|
||||||
"QWidget#editcmdWidget{min-height:83px;max-height:83px;}"
|
"QWidget#editcmdWidget{min-height:83px;max-height:83px;}"
|
||||||
"QWidget#verSpaceLine{ border-right:1px solid #0078d8;}"
|
"QWidget#verSpaceLine{ border-right:1px solid #0078d8;}"
|
||||||
//蒙版Dialog
|
//蒙版Dialog
|
||||||
"QDialog QWidget#innerWidget{ background:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,"
|
"QDialog QWidget#innerWidget{ background:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,"
|
||||||
"stop: 0.0 darkgray, stop: 0.5 lightgray, stop: 1.0 darkgray);"
|
"stop: 0.0 darkgray, stop: 0.5 lightgray, stop: 1.0 darkgray);"
|
||||||
"border-radius:20px;border:5px solid #0078d8; }"
|
"border-radius:20px;border:5px solid #0078d8; }"
|
||||||
"QDialog QWidget QWidget{ background:transparent;color:#3078d8}"
|
"QDialog QWidget QWidget{ background:transparent;color:#3078d8}"
|
||||||
"QDialog QWidget QWidget QLabel{ font-size:30px}"
|
"QDialog QWidget QWidget QLabel{ font-size:30px}"
|
||||||
"QLabel#lbl_progressicon{min-width:75px;max-width:75px;}"
|
"QLabel#lbl_progressicon{min-width:75px;max-width:75px;}"
|
||||||
"#spacer_1, #spacer_2{min-width:2px;max-width:2px;margin-top:6px;margin-bottom:6px;border-right:1px solid #0078d8;}"//green with 2
|
"#spacer_1, #spacer_2{min-width:2px;max-width:2px;margin-top:6px;margin-bottom:6px;border-right:1px solid #0078d8;}"//green with 2
|
||||||
;
|
;
|
||||||
this->setStyleSheet(style);
|
this->setStyleSheet(style);
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
QTabWidget *tab = new QTabWidget(this);
|
QTabWidget* tab = new QTabWidget(this);
|
||||||
tab->setTabPosition(QTabWidget::South);
|
tab->setTabPosition(QTabWidget::South);
|
||||||
tab->setContentsMargins(0,0,0,0);
|
tab->setContentsMargins(0, 0, 0, 0);
|
||||||
connect(EventCenter::Default(),&EventCenter::PatientSelected,[=](QObject* sender,QObject* data){
|
connect(EventCenter::Default(), &EventCenter::PatientSelected, [=](QObject* sender, QObject* data) {
|
||||||
tab->setCurrentIndex(1);
|
tab->setCurrentIndex(1);
|
||||||
});
|
});
|
||||||
SelectFormWidget* select_form= new SelectFormWidget(this);
|
SelectFormWidget* select_form = new SelectFormWidget(this);
|
||||||
tab->addTab(select_form, "Select");
|
tab->addTab(select_form, "Select");
|
||||||
ScanFormWidget* scan_form= new ScanFormWidget(this);
|
ScanFormWidget* scan_form = new ScanFormWidget(this);
|
||||||
tab->addTab(scan_form, "Scan");
|
tab->addTab(scan_form, "Scan");
|
||||||
TabFormWidget* verify_form= new TabFormWidget(this);
|
TabFormWidget* verify_form = new TabFormWidget(this);
|
||||||
tab->addTab(verify_form, "Verify");
|
tab->addTab(verify_form, "Verify");
|
||||||
tab->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
|
tab->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||||
QHBoxLayout * layout = new QHBoxLayout();
|
QHBoxLayout* layout = new QHBoxLayout();
|
||||||
layout->setMargin(0);
|
layout->setMargin(0);
|
||||||
layout->addWidget(tab);
|
layout->addWidget(tab);
|
||||||
ui->centralWidget->setLayout(layout);
|
ui->centralWidget->setLayout(layout);
|
||||||
this->setWindowFlags (Qt::Window);
|
this->setWindowFlags(Qt::Window);
|
||||||
connect(EventCenter::Default(),&EventCenter::GUIErrorRaise,[=](QObject*,QObject* msg){
|
connect(EventCenter::Default(), &EventCenter::GUIErrorRaise, [=](QObject*, QObject* msg) {
|
||||||
if (!msgDialog) msgDialog = new GUIMessageDialog(this);
|
if (!msgDialog) msgDialog = new GUIMessageDialog(this);
|
||||||
if (msg)
|
if (msg)
|
||||||
{
|
{
|
||||||
QString* str = (QString*)msg;
|
QString* str = (QString*)msg;
|
||||||
msgDialog->showMessage(*str);
|
msgDialog->showMessage(*str);
|
||||||
} else {
|
}
|
||||||
msgDialog->showMessage("Something went error!");
|
else {
|
||||||
}
|
msgDialog->showMessage("Something went error!");
|
||||||
msgDialog->showExitButton();
|
}
|
||||||
msgDialog->stopLoading();
|
msgDialog->showExitButton();
|
||||||
msgDialog->showFullScreen();
|
msgDialog->stopLoading();
|
||||||
});
|
msgDialog->showFullScreen();
|
||||||
connect(EventCenter::Default(),&EventCenter::InvokeOperationStart,[=](QObject*,QObject* msg){
|
});
|
||||||
if (!msgDialog) msgDialog = new GUIMessageDialog(this);
|
connect(EventCenter::Default(), &EventCenter::InvokeOperationStart, [=](QObject*, QObject* msg) {
|
||||||
if (msg)
|
if (!msgDialog) msgDialog = new GUIMessageDialog(this);
|
||||||
{
|
if (msg)
|
||||||
QString* str = (QString*)msg;
|
{
|
||||||
msgDialog->showMessage(*str);
|
QString* str = (QString*)msg;
|
||||||
} else{
|
msgDialog->showMessage(*str);
|
||||||
msgDialog->hideMessage();
|
}
|
||||||
}
|
else {
|
||||||
msgDialog->hideExitButton();
|
msgDialog->hideMessage();
|
||||||
msgDialog->startLoading();
|
}
|
||||||
msgDialog->showFullScreen();
|
msgDialog->hideExitButton();
|
||||||
});
|
msgDialog->startLoading();
|
||||||
connect(EventCenter::Default(),&EventCenter::InvokeOperationProgress,[=](QObject*,QObject* msg){
|
msgDialog->showFullScreen();
|
||||||
if (!msgDialog) msgDialog = new GUIMessageDialog(this);
|
});
|
||||||
if (msg)
|
connect(EventCenter::Default(), &EventCenter::InvokeOperationProgress, [=](QObject*, QObject* msg) {
|
||||||
{
|
if (!msgDialog) msgDialog = new GUIMessageDialog(this);
|
||||||
QVariant* var = (QVariant*)msg;
|
if (msg)
|
||||||
msgDialog->showMessage(QString("Scanning %1%").arg((int)(var->toFloat()*100.0f)));
|
{
|
||||||
} else{
|
QVariant* var = (QVariant*)msg;
|
||||||
msgDialog->hideMessage();
|
msgDialog->showMessage(QString("Scanning %1%").arg((int)(var->toFloat() * 100.0f)));
|
||||||
}
|
}
|
||||||
msgDialog->hideExitButton();
|
else {
|
||||||
msgDialog->showFullScreen();
|
msgDialog->hideMessage();
|
||||||
});
|
}
|
||||||
connect(EventCenter::Default(),&EventCenter::InvokeOperationEnd,[=](){
|
msgDialog->hideExitButton();
|
||||||
if (!msgDialog) return;
|
msgDialog->showFullScreen();
|
||||||
msgDialog->stopLoading();
|
});
|
||||||
msgDialog->hide();
|
connect(EventCenter::Default(), &EventCenter::InvokeOperationEnd, [=]() {
|
||||||
});
|
if (!msgDialog) return;
|
||||||
DeviceManager::Default()->initDevice();
|
msgDialog->stopLoading();
|
||||||
centerWidgetHide();
|
msgDialog->hide();
|
||||||
|
});
|
||||||
|
DeviceManager::Default()->initDevice();
|
||||||
|
centerWidgetHide();
|
||||||
}
|
}
|
||||||
|
|
||||||
MainWindow::~MainWindow()
|
MainWindow::~MainWindow()
|
||||||
{
|
{
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::centerWidgetHide() {
|
void MainWindow::centerWidgetHide() {
|
||||||
ui->centralWidget->hide();
|
ui->centralWidget->hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::centerWidgetShow() {
|
void MainWindow::centerWidgetShow() {
|
||||||
ui->centralWidget->show();
|
ui->centralWidget->show();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user