Apply new ttf for linux font.

This commit is contained in:
Krad
2021-10-25 15:00:09 +08:00
parent 9195e57480
commit cc65f64be2
4 changed files with 275 additions and 249 deletions

View File

@@ -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)

View File

@@ -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)

View File

@@ -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();
} }

View File

@@ -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();
} }