提交 423607f3 作者: zhangyl

创建称重控制

上级 692e1171
QMAKE_CXX.QT_COMPILER_STDCXX = 201402L
QMAKE_CXX.QMAKE_GCC_MAJOR_VERSION = 7
QMAKE_CXX.QMAKE_GCC_MINOR_VERSION = 3
QMAKE_CXX.QMAKE_GCC_PATCH_VERSION = 0
QMAKE_CXX.COMPILER_MACROS = \
QT_COMPILER_STDCXX \
QMAKE_GCC_MAJOR_VERSION \
QMAKE_GCC_MINOR_VERSION \
QMAKE_GCC_PATCH_VERSION
QMAKE_CXX.INCDIRS = \
C:/Qt/Qt5.13.2/Tools/mingw730_32/lib/gcc/i686-w64-mingw32/7.3.0/include/c++ \
C:/Qt/Qt5.13.2/Tools/mingw730_32/lib/gcc/i686-w64-mingw32/7.3.0/include/c++/i686-w64-mingw32 \
C:/Qt/Qt5.13.2/Tools/mingw730_32/lib/gcc/i686-w64-mingw32/7.3.0/include/c++/backward \
C:/Qt/Qt5.13.2/Tools/mingw730_32/lib/gcc/i686-w64-mingw32/7.3.0/include \
C:/Qt/Qt5.13.2/Tools/mingw730_32/lib/gcc/i686-w64-mingw32/7.3.0/include-fixed \
C:/Qt/Qt5.13.2/Tools/mingw730_32/i686-w64-mingw32/include
QMAKE_CXX.LIBDIRS = \
C:/Qt/Qt5.13.2/Tools/mingw730_32/lib/gcc/i686-w64-mingw32/7.3.0 \
C:/Qt/Qt5.13.2/Tools/mingw730_32/lib/gcc \
C:/Qt/Qt5.13.2/Tools/mingw730_32/i686-w64-mingw32/lib \
C:/Qt/Qt5.13.2/Tools/mingw730_32/lib
差异被折叠。 点击展开。
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This project is created from a GitLab [Project Template](https://docs.gitlab.com/ce/gitlab-basics/create-project.html)
Additions and changes to the project can be proposed [on the original project](https://gitlab.com/gitlab-org/project-templates/express)
信湖煤矿重量控制系统
QT += core gui sql
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
CONFIG += c++11
# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS
#自定Pro结构文件
MOC_DIR = temp/moc
RCC_DIR = temp/rcc
UI_DIR = temp/ui
OBJECTS_DIR = temp/obj
#这样只有exe文件在bin文件夹
DESTDIR = bin
#为了使日志在 Release 模式下也可输出文件名和代码行数
DEFINES += QT_MESSAGELOGCONTEXT
# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
frmmessagebox.cpp \
iconhelper.cpp \
logindlg.cpp \
main.cpp \
mainwindow.cpp
HEADERS += \
frmmessagebox.h \
iconhelper.h \
logindlg.h \
mainwindow.h \
myhelper.h
FORMS += \
frmmessagebox.ui \
logindlg.ui \
mainwindow.ui
#添加日志
include(modeller_applog/applogmodel.pri)
#添加数据库助手
include(sqliteassistant/sqliteassistant.pri)
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
RESOURCES += \
image.qrc
File:(sqliteassistant\sqliteassistant.cpp) Line:(30) Function:long int SqliteAssistant::connectSql() Succeed to connect database. (2022-02-11 08:55:13 周五)
File:(main.cpp) Line:(22) Function:int qMain(int, char**) connectSql ok (2022-02-11 08:55:13 周五)
File:(mainwindow.cpp) Line:(51) Function:void MainWindow::SoftStart() 软件启动时间: "2022-02-11 08:55:13" (2022-02-11 08:55:13 周五)
#include "frmmessagebox.h"
#include "ui_frmmessagebox.h"
#include "iconhelper.h"
#include "myhelper.h"
frmMessageBox::frmMessageBox(QWidget *parent) :
QDialog(parent),
ui(new Ui::frmMessageBox)
{
ui->setupUi(this);
this->mousePressed = false;
//设置窗体标题栏隐藏
this->setWindowFlags(Qt::FramelessWindowHint);
//设置窗体关闭时自动释放内存
this->setAttribute(Qt::WA_DeleteOnClose);
//设置图形字体
IconHelper::Instance()->SetIcon(ui->lab_Ico, QChar(0xf015), 12);
IconHelper::Instance()->SetIcon(ui->btnMenu_Close, QChar(0xf00d), 10);
//关联关闭按钮
connect(ui->btnMenu_Close, SIGNAL(clicked()), this, SLOT(close()));
connect(ui->btnCancel, SIGNAL(clicked()), this, SLOT(close()));
//窗体居中显示
myHelper::FormInCenter(this);
}
frmMessageBox::~frmMessageBox()
{
delete ui;
}
void frmMessageBox::SetMessage(const QString &msg, int type)
{
if (type == 0) {
ui->labIcoMain->setStyleSheet("border-image: url(:/image/info.png);");
ui->btnCancel->setVisible(false);
ui->lab_Title->setText("提示");
} else if (type == 1) {
ui->labIcoMain->setStyleSheet("border-image: url(:/image/question.png);");
ui->lab_Title->setText("询问");
} else if (type == 2) {
ui->labIcoMain->setStyleSheet("border-image: url(:/image/error.png);");
ui->btnCancel->setVisible(false);
ui->lab_Title->setText("错误");
}
ui->labInfo->setText(msg);
}
void frmMessageBox::on_btnOk_clicked()
{
done(1);
this->close();
}
void frmMessageBox::mouseMoveEvent(QMouseEvent *e)
{
if (mousePressed && (e->buttons() && Qt::LeftButton)) {
this->move(e->globalPos() - mousePoint);
e->accept();
}
}
void frmMessageBox::mousePressEvent(QMouseEvent *e)
{
if (e->button() == Qt::LeftButton) {
mousePressed = true;
mousePoint = e->globalPos() - this->pos();
e->accept();
}
}
void frmMessageBox::mouseReleaseEvent(QMouseEvent *)
{
mousePressed = false;
}
#ifndef FRMMESSAGEBOX_H
#define FRMMESSAGEBOX_H
#include <QDialog>
#include <QMouseEvent>
namespace Ui {
class frmMessageBox;
}
class frmMessageBox : public QDialog
{
Q_OBJECT
public:
explicit frmMessageBox(QWidget *parent = 0);
~frmMessageBox();
void SetMessage(const QString &msg, int type);
protected:
void mouseMoveEvent(QMouseEvent *e);
void mousePressEvent(QMouseEvent *e);
void mouseReleaseEvent(QMouseEvent *);
private slots:
void on_btnOk_clicked();
private:
Ui::frmMessageBox *ui;
QPoint mousePoint; //鼠标拖动自定义标题栏时的坐标
bool mousePressed; //鼠标是否按下
};
#endif // FRMMESSAGEBOX_H
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>frmMessageBox</class>
<widget class="QDialog" name="frmMessageBox">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>303</width>
<height>143</height>
</rect>
</property>
<property name="windowTitle">
<string>提示</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="widget_title" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>100</width>
<height>28</height>
</size>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="lab_Ico">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>31</width>
<height>0</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lab_Title">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="styleSheet">
<string notr="true">font: 10pt &quot;微软雅黑&quot;;</string>
</property>
<property name="text">
<string>提示</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_menu" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="btnMenu_Close">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>40</width>
<height>0</height>
</size>
</property>
<property name="cursor">
<cursorShape>ArrowCursor</cursorShape>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="toolTip">
<string>关闭</string>
</property>
<property name="text">
<string/>
</property>
<property name="flat">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_main" native="true">
<property name="styleSheet">
<string notr="true">font: 11pt &quot;微软雅黑&quot;;</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="spacing">
<number>5</number>
</property>
<property name="leftMargin">
<number>5</number>
</property>
<property name="topMargin">
<number>5</number>
</property>
<property name="rightMargin">
<number>5</number>
</property>
<property name="bottomMargin">
<number>5</number>
</property>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string/>
</property>
<widget class="QLabel" name="labIcoMain">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>45</width>
<height>45</height>
</rect>
</property>
<property name="styleSheet">
<string notr="true">border-image: url(:/image/info.png);</string>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QLabel" name="labInfo">
<property name="geometry">
<rect>
<x>70</x>
<y>10</y>
<width>211</width>
<height>41</height>
</rect>
</property>
<property name="text">
<string>确定要删除吗?</string>
</property>
<property name="scaledContents">
<bool>false</bool>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>60</y>
<width>271</width>
<height>34</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="btnOk">
<property name="cursor">
<cursorShape>PointingHandCursor</cursorShape>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>确定(&amp;O)</string>
</property>
<property name="icon">
<iconset resource="main.qrc">
<normaloff>:/image/update.png</normaloff>:/image/update.png</iconset>
</property>
<property name="iconSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnCancel">
<property name="cursor">
<cursorShape>PointingHandCursor</cursorShape>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>取消(&amp;C)</string>
</property>
<property name="icon">
<iconset resource="main.qrc">
<normaloff>:/image/close.png</normaloff>:/image/close.png</iconset>
</property>
<property name="iconSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<resources>
<include location="main.qrc"/>
</resources>
<connections/>
</ui>
#include "iconhelper.h"
IconHelper* IconHelper::_instance = 0;
IconHelper::IconHelper(QObject*):
QObject(qApp)
{
int fontId = QFontDatabase::addApplicationFont(":/image/fontawesome-webfont.ttf");
QString fontName = QFontDatabase::applicationFontFamilies(fontId).at(0);
iconFont = QFont(fontName);
}
void IconHelper::SetIcon(QLabel* lab, QChar c, int size)
{
iconFont.setPointSize(size);
lab->setFont(iconFont);
lab->setText(c);
}
void IconHelper::SetIcon(QPushButton* btn, QChar c, int size)
{
iconFont.setPointSize(size);
btn->setFont(iconFont);
btn->setText(c);
}
#ifndef ICONHELPER_H
#define ICONHELPER_H
#include <QObject>
#include <QFont>
#include <QFontDatabase>
#include <QMutex>
#include <QLabel>
#include <QPushButton>
#include <QApplication>
class IconHelper : public QObject
{
private:
explicit IconHelper(QObject *parent = 0);
QFont iconFont;
static IconHelper* _instance;
public:
static IconHelper* Instance()
{
static QMutex mutex;
if (!_instance) {
QMutexLocker locker(&mutex);
if (!_instance) {
_instance = new IconHelper;
}
}
return _instance;
}
void SetIcon(QLabel* lab, QChar c, int size = 10);
void SetIcon(QPushButton* btn, QChar c, int size = 10);
};
#endif // ICONHELPER_H
<RCC>
<qresource prefix="/">
<file>image/add-line_horizontal.png</file>
<file>image/add-line_vertical.png</file>
<file>image/array_down.png</file>
<file>image/black.css</file>
<file>image/blue.css</file>
<file>image/checkbox_checked.png</file>
<file>image/checkbox_unchecked.png</file>
<file>image/Close_0.png</file>
<file>image/Close_1.png</file>
<file>image/db_admin_0.png</file>
<file>image/db_admin_1.png</file>
<file>image/db_cdPwd_0.png</file>
<file>image/db_cdPwd_1.png</file>
<file>image/db_cdUser_0.png</file>
<file>image/db_cdUser_1.png</file>
<file>image/db_close_0.png</file>
<file>image/db_close_1.png</file>
<file>image/db_select_0.png</file>
<file>image/db_select_1.png</file>
<file>image/db_setting_0.png</file>
<file>image/db_setting_1.png</file>
<file>image/error.png</file>
<file>image/Font Awesome Cheatsheet.png</file>
<file>image/fontawesome-webfont.ttf</file>
<file>image/gray.css</file>
<file>image/header.png</file>
<file>image/info.png</file>
<file>image/jinmai_icon.png</file>
<file>image/jinmai_logo.png</file>
<file>image/Login_Dialog.qss</file>
<file>image/Min_0.png</file>
<file>image/Min_1.png</file>
<file>image/navy.css</file>
<file>image/qt_zh_CN.qm</file>
<file>image/question.png</file>
<file>image/radio_normal.png</file>
<file>image/radio_selected.png</file>
<file>image/sub-line_horizontal.png</file>
<file>image/sub-line_vertical.png</file>
</qresource>
</RCC>
*{
font-family:Microsoft YaHei;
}
QWidget#wid_main{
background-color: #1B89CA;
border: 1px solid #1B89CA;
border-radius: 10px;
}
QWidget#widget_sec{
background-color: rgb(255,255,255);
border: 1px solid rgb(255,255,255);
border-bottom-left-radius:10px;
border-bottom-right-radius:10px;
}
QLabel{
background: transparent;
border: 1px solid transparent;
color:rgb(0,0,0);
font-weight: bold;
font: 25 15pt "Microsoft YaHei";
padding: 1px;
}
QLabel#lab_title{
color:rgb(255,255,255);
font: 50 10pt "Microsoft YaHei";
}
QLabel#lab_name{
font: 50 20pt "Microsoft YaHei";
}
QLabel#lab_user{
font: 25 12pt "Microsoft YaHei";
}
QLabel#lab_pwd{
font: 25 12pt "Microsoft YaHei";
}
QLabel#lab_logo{
border-image: url(:/image/jinmai_icon.png);
}
/*密码框*/
QLineEdit#lineEdit_pwd,#lineEdit_user
{
border: 1px solid rgb(209 , 209 , 209);
border-right:transparent;
border-left:transparent;
border-top:transparent;
}
QLineEdit#lineEdit_pwd,#lineEdit_user:hover
{
padding-top:0px ;
border-top:transparent;
border-left:transparent;
border-right:transparent;
}
QPushButton {
background-color: #1B89CA;
border: 1px solid transparent;
font-weight: bold;
font: 25 15pt "Microsoft YaHei";
padding: 1px 4px;
}
QPushButton:hover{
}
QPushButton:pressed
{
}
/*登陆按钮*/
QPushButton#pbn_login
{
color:#e6e6e6;
font-weight: bold;
background-color:#1B89CA;
border-radius:5px;
}
QPushButton#pbn_login:hover
{
color:white;
background-color:#5CACEE;
}
QPushButton#pbn_login:pressed
{
color:#e6e6e6;
background-color:#1B89CA;
padding-left:3px;
padding-top:3px;
}
/*最小化窗口*/
QPushButton#pbn_min{
border-image: url(:/image/Min_0.png);
}
QPushButton#pbn_min:hover{
border-image: url(:/image/Min_1.png);
}
QPushButton#pbn_min:pressed{
border-image: url(:/image/Min_0.png);
}
/*关闭窗口*/
QPushButton#pbn_close{
border-image: url(:/image/Close_0.png);
}
QPushButton#pbn_close:hover{
border-image: url(:/image/Close_1.png);
}
QPushButton#pbn_close:pressed{
border-image: url(:/image/Close_0.png);
}
QWidget#frmLogin,QWidget#frmPopup,QWidget#frmHostInfo,QWidget#frmLogout,QWidget#frmConfig,QWidget#frmData,QWidget#frmDefence,QWidget#frmHost,QWidget#frmMain,QWidget#frmPwd,QWidget#frmSelect,QWidget#frmMessageBox{
border:1px solid #4D4D4D;
border-radius:0px;
}
.QFrame{
border:1px solid #636363;
border-radius:5px;
}
QWidget#widget_title{
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #4D4D4D, stop:1 #292929);
}
QLabel#lab_Ico,QLabel#lab_Title{
border-radius:0px;
color: #F0F0F0;
background-color:rgba(0,0,0,0);
border-style:none;
}
QLineEdit {
border: 1px solid #636363;
border-radius: 5px;
padding: 2px;
background: none;
selection-background-color: #4D4D4D;
}
QLineEdit[echoMode="2"] {
lineedit-password-character: 9679;
}
.QGroupBox{
border: 1px solid #636363;
border-radius: 5px;
}
.QPushButton{
border-style: none;
border: 0px;
color: #F0F0F0;
padding: 5px;
min-height: 20px;
border-radius:5px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #4D4D4D, stop:1 #292929);
}
.QPushButton[focusPolicy="0"] {
border-style: none;
border: 0px;
color: #F0F0F0;
padding: 0px;
min-height: 10px;
border-radius:3px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #4D4D4D, stop:1 #292929);
}
.QPushButton:hover{
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #636363, stop:1 #575757);
}
.QPushButton:pressed{
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #4D4D4D, stop:1 #292929);
}
QPushButton#btnMenu,QPushButton#btnMenu_Min,QPushButton#btnMenu_Max,QPushButton#btnMenu_Close{
border-radius:0px;
color: #F0F0F0;
background-color:rgba(0,0,0,0);
border-style:none;
}
QPushButton#btnMenu:hover,QPushButton#btnMenu_Min:hover,QPushButton#btnMenu_Max:hover{
background-color: qlineargradient(spread:pad, x1:0, y1:1, x2:0, y2:0, stop:0 rgba(25, 134, 199, 0), stop:1 #636363);
}
QPushButton#btnMenu_Close:hover{
background-color: qlineargradient(spread:pad, x1:0, y1:1, x2:0, y2:0, stop:0 rgba(238, 0, 0, 128), stop:1 rgba(238, 44, 44, 255));
}
QCheckBox {
spacing: 2px;
}
QCheckBox::indicator {
width: 20px;
height: 20px;
}
QCheckBox::indicator:unchecked {
image: url(:/image/checkbox_unchecked.png);
}
QCheckBox::indicator:checked {
image: url(:/image/checkbox_checked.png);
}
QRadioButton {
spacing: 2px;
}
QRadioButton::indicator {
width: 15px;
height: 15px;
}
QRadioButton::indicator::unchecked {
image: url(:/image/radio_normal.png);
}
QRadioButton::indicator::checked {
image: url(:/image/radio_selected.png);
}
QComboBox,QDateEdit{
border-radius: 3px;
padding: 1px 10px 1px 5px;
border: 1px solid #636363;
}
QComboBox::drop-down,QDateEdit::drop-down {
subcontrol-origin: padding;
subcontrol-position: top right;
width: 15px;
border-left-width: 1px;
border-left-style: solid;
border-top-right-radius: 3px;
border-bottom-right-radius: 3px;
border-left-color: #636363;
}
QComboBox::down-arrow,QDateEdit::down-arrow {
image: url(:/image/array_down.png);
}
QMenu {
background-color:#F0F0F0;
margin: 2px;
}
QMenu::item {
padding: 2px 12px 2px 12px;
}
QMenu::indicator {
width: 13px;
height: 13px;
}
QMenu::item:selected {
color: #F0F0F0;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #4D4D4D, stop:1 #292929);
}
QMenu::separator {
height: 1px;
background: #636363;
}
QProgressBar {
border-radius: 5px;
text-align: center;
border: 1px solid #636363;
}
QProgressBar::chunk {
width: 5px;
margin: 0.5px;
background-color: #4D4D4D;
}
QSlider::groove:horizontal,QSlider::add-page:horizontal {
background: #808080;
height: 8px;
border-radius: 3px;
}
QSlider::sub-page:horizontal {
height: 8px;
border-radius: 3px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #4D4D4D, stop:1 #292929);
}
QSlider::handle:horizontal {
width: 13px;
margin-top: -3px;
margin-bottom: -3px;
border-radius: 6px;
background: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5,stop:0.6 #F0F0F0, stop:0.778409 #636363);
}
QSlider::handle:horizontal:hover {
background: qradialgradient(spread: pad, cx: 0.5, cy: 0.5, radius: 0.5, fx: 0.5, fy: 0.5, stop: 0.6 #F0F0F0,stop:0.778409 #4D4D4D);
}
QSlider::groove:vertical,QSlider::sub-page:vertical {
background:#808080;
width: 8px;
border-radius: 3px;
}
QSlider::add-page:vertical {
width: 8px;
border-radius: 3px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #4D4D4D, stop:1 #292929);
}
QSlider::handle:vertical {
height: 14px;
margin-left: -3px;
margin-right: -3px;
border-radius: 6px;
background: qradialgradient(spread: pad, cx: 0.5, cy: 0.5, radius: 0.5, fx: 0.5, fy: 0.5, stop: 0.6 #F0F0F0, stop:0.778409 #636363);
}
QSlider::handle:vertical:hover {
background: qradialgradient(spread: pad, cx: 0.5, cy: 0.5, radius: 0.5, fx: 0.5, fy: 0.5, stop: 0.6 #F0F0F0,stop:0.778409 #4D4D4D);
}
QScrollBar:vertical {
width:10px;
background-color:rgba(0,0,0,0%);
padding-top:10px;
padding-bottom:10px;
}
QScrollBar:horizontal {
height:10px;
background-color:rgba(0,0,0,0%);
padding-left:10px; padding-right:10px;
}
QScrollBar::handle:vertical {
width:10px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #636363, stop:1 #575757);
}
QScrollBar::handle:horizontal {
height:10px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #636363, stop:1 #575757);
}
QScrollBar::handle:vertical:hover {
width:10px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #4D4D4D, stop:1 #292929);
}
QScrollBar::handle:horizontal:hover {
height:10px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #4D4D4D, stop:1 #292929);
}
QScrollBar::add-line:vertical {
height:10px;
width:10px;
subcontrol-position: bottom;
subcontrol-origin: margin;
border-image:url(:/image/add-line_vertical.png);
}
QScrollBar::add-line:horizontal {
height:10px;
width:10px;
subcontrol-position: right;
subcontrol-origin: margin;
border-image:url(:/image/add-line_horizontal.png);
}
QScrollBar::sub-line:vertical {
height:10px;
width:10px;
subcontrol-position: top;
subcontrol-origin: margin;
border-image:url(:/image/sub-line_vertical.png);
}
QScrollBar::sub-line:horizontal {
height:10px;
width:10px;
subcontrol-position: left;
subcontrol-origin: margin;
border-image:url(:/image/sub-line_horizontal.png);
}
QScrollBar::add-page:vertical,QScrollBar::sub-page:vertical {
width:10px;
background: #C0C0C0;
}
QScrollBar::add-page:horizontal,QScrollBar::sub-page:horizontal {
height:10px;
background: #C0C0C0;
}
QScrollArea {
border: 0px ;
}
QTreeView,QListView,QTableView{
border: 1px solid #636363;
selection-background-color: #4D4D4D;
selection-color: #F0F0F0;
}
QTableView::item:selected, QListView::item:selected, QTreeView::item:selected {
color: #F0F0F0;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #4D4D4D, stop:1 #292929);
}
QTableView::item:hover, QListView::item:hover, QTreeView::item:hover {
color: #F0F0F0;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #636363, stop:1 #575757);
}
QTableView::item, QListView::item, QTreeView::item {
padding: 5px;
margin: 0px;
}
QHeaderView::section {
padding:3px;
margin:0px;
color:#F0F0F0;
border: 1px solid #F0F0F0;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #636363, stop:1 #575757);
}
QTabBar::tab {
border-bottom-left-radius:0px;
border-bottom-right-radius:0px;
color: #F0F0F0;
min-width: 60px;
min-height: 20px;
padding: 3px 8px 3px 8px;
margin:1px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #636363, stop:1 #575757);
}
QTabBar::tab:selected, QTabBar::tab:hover {
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #4D4D4D, stop:1 #292929);
}
QStatusBar::item {
border: 1px solid #636363;
border-radius: 3px;
}
\ No newline at end of file
QWidget#frmLogin,QWidget#frmPopup,QWidget#frmHostInfo,QWidget#frmLogout,QWidget#frmConfig,QWidget#frmData,QWidget#frmDefence,QWidget#frmHost,QWidget#frmMain,QWidget#frmPwd,QWidget#frmSelect,QWidget#frmMessageBox{
border:1px solid #1B89CA;
border-radius:0px;
}
.QFrame{
border:1px solid #5CACEE;
border-radius:5px;
}
QWidget#widget_title{
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1B89CA, stop:1 #1077B5);
}
QLabel#lab_Ico,QLabel#lab_Title{
border-radius:0px;
color: #F0F0F0;
background-color:rgba(0,0,0,0);
border-style:none;
}
QLineEdit {
border: 1px solid #5CACEE;
border-radius: 5px;
padding: 2px;
background: none;
selection-background-color: #1B89CA;
}
QLineEdit[echoMode="2"] {
lineedit-password-character: 9679;
}
.QGroupBox{
border: 1px solid #5CACEE;
border-radius: 5px;
}
.QPushButton{
border-style: none;
border: 0px;
color: #F0F0F0;
padding: 5px;
min-height: 20px;
border-radius:5px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1B89CA, stop:1 #1077B5);
}
.QPushButton[focusPolicy="0"] {
border-style: none;
border: 0px;
color: #F0F0F0;
padding: 0px;
min-height: 10px;
border-radius:3px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1B89CA, stop:1 #1077B5);
}
.QPushButton:hover{
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5CACEE, stop:1 #4F94CD);
}
.QPushButton:pressed{
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1B89CA, stop:1 #1077B5);
}
QPushButton#btnMenu,QPushButton#btnMenu_Min,QPushButton#btnMenu_Max,QPushButton#btnMenu_Close{
border-radius:0px;
color: #F0F0F0;
background-color:rgba(0,0,0,0);
border-style:none;
}
QPushButton#btnMenu:hover,QPushButton#btnMenu_Min:hover,QPushButton#btnMenu_Max:hover{
background-color: qlineargradient(spread:pad, x1:0, y1:1, x2:0, y2:0, stop:0 rgba(25, 134, 199, 0), stop:1 #5CACEE);
}
QPushButton#btnMenu_Close:hover{
background-color: qlineargradient(spread:pad, x1:0, y1:1, x2:0, y2:0, stop:0 rgba(238, 0, 0, 128), stop:1 rgba(238, 44, 44, 255));
}
QCheckBox {
spacing: 2px;
}
QCheckBox::indicator {
width: 20px;
height: 20px;
}
QCheckBox::indicator:unchecked {
image: url(:/image/checkbox_unchecked.png);
}
QCheckBox::indicator:checked {
image: url(:/image/checkbox_checked.png);
}
QRadioButton {
spacing: 2px;
}
QRadioButton::indicator {
width: 15px;
height: 15px;
}
QRadioButton::indicator::unchecked {
image: url(:/image/radio_normal.png);
}
QRadioButton::indicator::checked {
image: url(:/image/radio_selected.png);
}
QComboBox,QDateEdit{
border-radius: 3px;
padding: 1px 10px 1px 5px;
border: 1px solid #5CACEE;
}
QComboBox::drop-down,QDateEdit::drop-down {
subcontrol-origin: padding;
subcontrol-position: top right;
width: 15px;
border-left-width: 1px;
border-left-style: solid;
border-top-right-radius: 3px;
border-bottom-right-radius: 3px;
border-left-color: #5CACEE;
}
QComboBox::down-arrow,QDateEdit::down-arrow {
image: url(:/image/array_down.png);
}
QMenu {
background-color:#F0F0F0;
margin: 2px;
}
QMenu::item {
padding: 2px 12px 2px 12px;
}
QMenu::indicator {
width: 13px;
height: 13px;
}
QMenu::item:selected {
color: #FFFFFF;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1B89CA, stop:1 #1077B5);
}
QMenu::separator {
height: 1px;
background: #5CACEE;
}
QProgressBar {
border-radius: 5px;
text-align: center;
border: 1px solid #5CACEE;
}
QProgressBar::chunk {
width: 5px;
margin: 0.5px;
background-color: #1B89CA;
}
QSlider::groove:horizontal,QSlider::add-page:horizontal {
background: #808080;
height: 8px;
border-radius: 3px;
}
QSlider::sub-page:horizontal {
height: 8px;
border-radius: 3px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1B89CA, stop:1 #1077B5);
}
QSlider::handle:horizontal {
width: 13px;
margin-top: -3px;
margin-bottom: -3px;
border-radius: 6px;
background: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5,stop:0.6 #F0F0F0, stop:0.778409 #5CACEE);
}
QSlider::handle:horizontal:hover {
background: qradialgradient(spread: pad, cx: 0.5, cy: 0.5, radius: 0.5, fx: 0.5, fy: 0.5, stop: 0.6 #F0F0F0,stop:0.778409 #1B89CA);
}
QSlider::groove:vertical,QSlider::sub-page:vertical {
background:#808080;
width: 8px;
border-radius: 3px;
}
QSlider::add-page:vertical {
width: 8px;
border-radius: 3px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1B89CA, stop:1 #1077B5);
}
QSlider::handle:vertical {
height: 14px;
margin-left: -3px;
margin-right: -3px;
border-radius: 6px;
background: qradialgradient(spread: pad, cx: 0.5, cy: 0.5, radius: 0.5, fx: 0.5, fy: 0.5, stop: 0.6 #F0F0F0, stop:0.778409 #5CACEE);
}
QSlider::handle:vertical:hover {
background: qradialgradient(spread: pad, cx: 0.5, cy: 0.5, radius: 0.5, fx: 0.5, fy: 0.5, stop: 0.6 #F0F0F0,stop:0.778409 #1B89CA);
}
QScrollBar:vertical {
width:10px;
background-color:rgba(0,0,0,0%);
padding-top:10px;
padding-bottom:10px;
}
QScrollBar:horizontal {
height:10px;
background-color:rgba(0,0,0,0%);
padding-left:10px; padding-right:10px;
}
QScrollBar::handle:vertical {
width:10px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5CACEE, stop:1 #4F94CD);
}
QScrollBar::handle:horizontal {
height:10px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5CACEE, stop:1 #4F94CD);
}
QScrollBar::handle:vertical:hover {
width:10px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1B89CA, stop:1 #1077B5);
}
QScrollBar::handle:horizontal:hover {
height:10px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1B89CA, stop:1 #1077B5);
}
QScrollBar::add-line:vertical {
height:10px;
width:10px;
subcontrol-position: bottom;
subcontrol-origin: margin;
border-image:url(:/image/add-line_vertical.png);
}
QScrollBar::add-line:horizontal {
height:10px;
width:10px;
subcontrol-position: right;
subcontrol-origin: margin;
border-image:url(:/image/add-line_horizontal.png);
}
QScrollBar::sub-line:vertical {
height:10px;
width:10px;
subcontrol-position: top;
subcontrol-origin: margin;
border-image:url(:/image/sub-line_vertical.png);
}
QScrollBar::sub-line:horizontal {
height:10px;
width:10px;
subcontrol-position: left;
subcontrol-origin: margin;
border-image:url(:/image/sub-line_horizontal.png);
}
QScrollBar::add-page:vertical,QScrollBar::sub-page:vertical {
width:10px;
background: #C0C0C0;
}
QScrollBar::add-page:horizontal,QScrollBar::sub-page:horizontal {
height:10px;
background: #C0C0C0;
}
QScrollArea {
border: 0px ;
}
QTreeView,QListView,QTableView{
border: 1px solid #5CACEE;
selection-background-color: #1B89CA;
selection-color: #F0F0F0;
}
QTableView::item:selected, QListView::item:selected, QTreeView::item:selected {
color: #F0F0F0;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1B89CA, stop:1 #1077B5);
}
QTableView::item:hover, QListView::item:hover, QTreeView::item:hover {
color: #F0F0F0;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5CACEE, stop:1 #4F94CD);
}
QTableView::item, QListView::item, QTreeView::item {
padding: 5px;
margin: 0px;
}
QHeaderView::section {
padding:3px;
margin:0px;
color:#F0F0F0;
border: 1px solid #F0F0F0;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5CACEE, stop:1 #4F94CD);
}
QTabBar::tab {
border-bottom-left-radius:0px;
border-bottom-right-radius:0px;
color: #F0F0F0;
min-width: 60px;
min-height: 20px;
padding: 3px 8px 3px 8px;
margin:1px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5CACEE, stop:1 #4F94CD);
}
QTabBar::tab:selected, QTabBar::tab:hover {
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1B89CA, stop:1 #1077B5);
}
QStatusBar::item {
border: 1px solid #5CACEE;
border-radius: 3px;
}
\ No newline at end of file
QWidget#frmLogin,QWidget#frmPopup,QWidget#frmHostInfo,QWidget#frmLogout,QWidget#frmConfig,QWidget#frmData,QWidget#frmDefence,QWidget#frmHost,QWidget#frmMain,QWidget#frmPwd,QWidget#frmSelect,QWidget#frmMessageBox{
border:1px solid #454648;
border-radius:0px;
}
.QFrame{
border:1px solid #B8B8B8;
border-radius:5px;
}
QWidget#widget_title{
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #454648, stop:1 #7A7A7A);
}
QLabel#lab_Ico,QLabel#lab_Title{
border-radius:0px;
color: #F0F0F0;
background-color:rgba(0,0,0,0);
border-style:none;
}
QLineEdit {
border: 1px solid #B8B8B8;
border-radius: 5px;
padding: 2px;
background: none;
selection-background-color: #454648;
}
QLineEdit[echoMode="2"] {
lineedit-password-character: 9679;
}
.QGroupBox{
border: 1px solid #B8B8B8;
border-radius: 5px;
}
.QPushButton{
border-style: none;
border: 0px;
color: #F0F0F0;
padding: 5px;
min-height: 20px;
border-radius:5px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #454648, stop:1 #7A7A7A);
}
.QPushButton[focusPolicy="0"] {
border-style: none;
border: 0px;
color: #F0F0F0;
padding: 0px;
min-height: 10px;
border-radius:3px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #454648, stop:1 #7A7A7A);
}
.QPushButton:hover{
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #B8B8B8, stop:1 #D6D6D6);
}
.QPushButton:pressed{
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #454648, stop:1 #7A7A7A);
}
QPushButton#btnMenu,QPushButton#btnMenu_Min,QPushButton#btnMenu_Max,QPushButton#btnMenu_Close{
border-radius:0px;
color: #F0F0F0;
background-color:rgba(0,0,0,0);
border-style:none;
}
QPushButton#btnMenu:hover,QPushButton#btnMenu_Min:hover,QPushButton#btnMenu_Max:hover{
background-color: qlineargradient(spread:pad, x1:0, y1:1, x2:0, y2:0, stop:0 rgba(25, 134, 199, 0), stop:1 #B8B8B8);
}
QPushButton#btnMenu_Close:hover{
background-color: qlineargradient(spread:pad, x1:0, y1:1, x2:0, y2:0, stop:0 rgba(238, 0, 0, 128), stop:1 rgba(238, 44, 44, 255));
}
QCheckBox {
spacing: 2px;
}
QCheckBox::indicator {
width: 20px;
height: 20px;
}
QCheckBox::indicator:unchecked {
image: url(:/image/checkbox_unchecked.png);
}
QCheckBox::indicator:checked {
image: url(:/image/checkbox_checked.png);
}
QRadioButton {
spacing: 2px;
}
QRadioButton::indicator {
width: 15px;
height: 15px;
}
QRadioButton::indicator::unchecked {
image: url(:/image/radio_normal.png);
}
QRadioButton::indicator::checked {
image: url(:/image/radio_selected.png);
}
QComboBox,QDateEdit{
border-radius: 3px;
padding: 1px 10px 1px 5px;
border: 1px solid #B8B8B8;
}
QComboBox::drop-down,QDateEdit::drop-down {
subcontrol-origin: padding;
subcontrol-position: top right;
width: 15px;
border-left-width: 1px;
border-left-style: solid;
border-top-right-radius: 3px;
border-bottom-right-radius: 3px;
border-left-color: #B8B8B8;
}
QComboBox::down-arrow,QDateEdit::down-arrow {
image: url(:/image/array_down.png);
}
QMenu {
background-color:#F0F0F0;
margin: 2px;
}
QMenu::item {
padding: 2px 12px 2px 12px;
}
QMenu::indicator {
width: 13px;
height: 13px;
}
QMenu::item:selected {
color: #F0F0F0;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #454648, stop:1 #7A7A7A);
}
QMenu::separator {
height: 1px;
background: #B8B8B8;
}
QProgressBar {
border-radius: 5px;
text-align: center;
border: 1px solid #B8B8B8;
}
QProgressBar::chunk {
width: 5px;
margin: 0.5px;
background-color: #454648;
}
QSlider::groove:horizontal,QSlider::add-page:horizontal {
background: #808080;
height: 8px;
border-radius: 3px;
}
QSlider::sub-page:horizontal {
height: 8px;
border-radius: 3px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #454648, stop:1 #7A7A7A);
}
QSlider::handle:horizontal {
width: 13px;
margin-top: -3px;
margin-bottom: -3px;
border-radius: 6px;
background: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5,stop:0.6 #F0F0F0, stop:0.778409 #B8B8B8);
}
QSlider::handle:horizontal:hover {
background: qradialgradient(spread: pad, cx: 0.5, cy: 0.5, radius: 0.5, fx: 0.5, fy: 0.5, stop: 0.6 #F0F0F0,stop:0.778409 #454648);
}
QSlider::groove:vertical,QSlider::sub-page:vertical {
background:#808080;
width: 8px;
border-radius: 3px;
}
QSlider::add-page:vertical {
width: 8px;
border-radius: 3px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #454648, stop:1 #7A7A7A);
}
QSlider::handle:vertical {
height: 14px;
margin-left: -3px;
margin-right: -3px;
border-radius: 6px;
background: qradialgradient(spread: pad, cx: 0.5, cy: 0.5, radius: 0.5, fx: 0.5, fy: 0.5, stop: 0.6 #F0F0F0, stop:0.778409 #B8B8B8);
}
QSlider::handle:vertical:hover {
background: qradialgradient(spread: pad, cx: 0.5, cy: 0.5, radius: 0.5, fx: 0.5, fy: 0.5, stop: 0.6 #F0F0F0,stop:0.778409 #454648);
}
QScrollBar:vertical {
width:10px;
background-color:rgba(0,0,0,0%);
padding-top:10px;
padding-bottom:10px;
}
QScrollBar:horizontal {
height:10px;
background-color:rgba(0,0,0,0%);
padding-left:10px; padding-right:10px;
}
QScrollBar::handle:vertical {
width:10px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #B8B8B8, stop:1 #D6D6D6);
}
QScrollBar::handle:horizontal {
height:10px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #B8B8B8, stop:1 #D6D6D6);
}
QScrollBar::handle:vertical:hover {
width:10px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #454648, stop:1 #7A7A7A);
}
QScrollBar::handle:horizontal:hover {
height:10px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #454648, stop:1 #7A7A7A);
}
QScrollBar::add-line:vertical {
height:10px;
width:10px;
subcontrol-position: bottom;
subcontrol-origin: margin;
border-image:url(:/image/add-line_vertical.png);
}
QScrollBar::add-line:horizontal {
height:10px;
width:10px;
subcontrol-position: right;
subcontrol-origin: margin;
border-image:url(:/image/add-line_horizontal.png);
}
QScrollBar::sub-line:vertical {
height:10px;
width:10px;
subcontrol-position: top;
subcontrol-origin: margin;
border-image:url(:/image/sub-line_vertical.png);
}
QScrollBar::sub-line:horizontal {
height:10px;
width:10px;
subcontrol-position: left;
subcontrol-origin: margin;
border-image:url(:/image/sub-line_horizontal.png);
}
QScrollBar::add-page:vertical,QScrollBar::sub-page:vertical {
width:10px;
background: #C0C0C0;
}
QScrollBar::add-page:horizontal,QScrollBar::sub-page:horizontal {
height:10px;
background: #C0C0C0;
}
QScrollArea {
border: 0px ;
}
QTreeView,QListView,QTableView{
border: 1px solid #B8B8B8;
selection-background-color: #454648;
selection-color: #F0F0F0;
}
QTableView::item:selected, QListView::item:selected, QTreeView::item:selected {
color: #F0F0F0;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #454648, stop:1 #7A7A7A);
}
QTableView::item:hover, QListView::item:hover, QTreeView::item:hover {
color: #F0F0F0;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #B8B8B8, stop:1 #D6D6D6);
}
QTableView::item, QListView::item, QTreeView::item {
padding: 5px;
margin: 0px;
}
QHeaderView::section {
padding:3px;
margin:0px;
color:#F0F0F0;
border: 1px solid #F0F0F0;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #B8B8B8, stop:1 #D6D6D6);
}
QTabBar::tab {
border-bottom-left-radius:0px;
border-bottom-right-radius:0px;
color: #F0F0F0;
min-width: 60px;
min-height: 20px;
padding: 3px 8px 3px 8px;
margin:1px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #B8B8B8, stop:1 #D6D6D6);
}
QTabBar::tab:selected, QTabBar::tab:hover {
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #454648, stop:1 #7A7A7A);
}
QStatusBar::item {
border: 1px solid #B8B8B8;
border-radius: 3px;
}
\ No newline at end of file
QWidget#frmLogin,QWidget#frmPopup,QWidget#frmHostInfo,QWidget#frmLogout,QWidget#frmConfig,QWidget#frmData,QWidget#frmDefence,QWidget#frmHost,QWidget#frmMain,QWidget#frmPwd,QWidget#frmSelect,QWidget#frmMessageBox{
border:1px solid #0F7DBE;
border-radius:0px;
}
.QFrame{
border:1px solid #50A3F0;
border-radius:5px;
}
QWidget#widget_title{
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #0F7DBE, stop:1 #1582C3);
}
QLabel#lab_Ico,QLabel#lab_Title{
border-radius:0px;
color: #F0F0F0;
background-color:rgba(0,0,0,0);
border-style:none;
}
QLineEdit {
border: 1px solid #50A3F0;
border-radius: 5px;
padding: 2px;
background: none;
selection-background-color: #0F7DBE;
}
QLineEdit[echoMode="2"] {
lineedit-password-character: 9679;
}
.QGroupBox{
border: 1px solid #50A3F0;
border-radius: 5px;
}
.QPushButton{
border-style: none;
border: 0px;
color: #F0F0F0;
padding: 5px;
min-height: 20px;
border-radius:5px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #0F7DBE, stop:1 #1582C3);
}
.QPushButton[focusPolicy="0"] {
border-style: none;
border: 0px;
color: #F0F0F0;
padding: 0px;
min-height: 10px;
border-radius:3px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #0F7DBE, stop:1 #1582C3);
}
.QPushButton:hover{
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #50A3F0, stop:1 #489CEA);
}
.QPushButton:pressed{
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #0F7DBE, stop:1 #1582C3);
}
QPushButton#btnMenu,QPushButton#btnMenu_Min,QPushButton#btnMenu_Max,QPushButton#btnMenu_Close{
border-radius:0px;
color: #F0F0F0;
background-color:rgba(0,0,0,0);
border-style:none;
}
QPushButton#btnMenu:hover,QPushButton#btnMenu_Min:hover,QPushButton#btnMenu_Max:hover{
background-color: qlineargradient(spread:pad, x1:0, y1:1, x2:0, y2:0, stop:0 rgba(25, 134, 199, 0), stop:1 #50A3F0);
}
QPushButton#btnMenu_Close:hover{
background-color: qlineargradient(spread:pad, x1:0, y1:1, x2:0, y2:0, stop:0 rgba(238, 0, 0, 128), stop:1 rgba(238, 44, 44, 255));
}
QCheckBox {
spacing: 2px;
}
QCheckBox::indicator {
width: 20px;
height: 20px;
}
QCheckBox::indicator:unchecked {
image: url(:/image/checkbox_unchecked.png);
}
QCheckBox::indicator:checked {
image: url(:/image/checkbox_checked.png);
}
QRadioButton {
spacing: 2px;
}
QRadioButton::indicator {
width: 15px;
height: 15px;
}
QRadioButton::indicator::unchecked {
image: url(:/image/radio_normal.png);
}
QRadioButton::indicator::checked {
image: url(:/image/radio_selected.png);
}
QComboBox,QDateEdit{
border-radius: 3px;
padding: 1px 10px 1px 5px;
border: 1px solid #50A3F0;
}
QComboBox::drop-down,QDateEdit::drop-down {
subcontrol-origin: padding;
subcontrol-position: top right;
width: 15px;
border-left-width: 1px;
border-left-style: solid;
border-top-right-radius: 3px;
border-bottom-right-radius: 3px;
border-left-color: #50A3F0;
}
QComboBox::down-arrow,QDateEdit::down-arrow {
image: url(:/image/array_down.png);
}
QMenu {
background-color:#F0F0F0;
margin: 2px;
}
QMenu::item {
padding: 2px 12px 2px 12px;
}
QMenu::indicator {
width: 13px;
height: 13px;
}
QMenu::item:selected {
color: #F0F0F0;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #0F7DBE, stop:1 #1582C3);
}
QMenu::separator {
height: 1px;
background: #50A3F0;
}
QProgressBar {
border-radius: 5px;
text-align: center;
border: 1px solid #50A3F0;
}
QProgressBar::chunk {
width: 5px;
margin: 0.5px;
background-color: #0F7DBE;
}
QSlider::groove:horizontal,QSlider::add-page:horizontal {
background: #808080;
height: 8px;
border-radius: 3px;
}
QSlider::sub-page:horizontal {
height: 8px;
border-radius: 3px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #0F7DBE, stop:1 #1582C3);
}
QSlider::handle:horizontal {
width: 13px;
margin-top: -3px;
margin-bottom: -3px;
border-radius: 6px;
background: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5,stop:0.6 #F0F0F0, stop:0.778409 #50A3F0);
}
QSlider::handle:horizontal:hover {
background: qradialgradient(spread: pad, cx: 0.5, cy: 0.5, radius: 0.5, fx: 0.5, fy: 0.5, stop: 0.6 #F0F0F0,stop:0.778409 #0F7DBE);
}
QSlider::groove:vertical,QSlider::sub-page:vertical {
background:#808080;
width: 8px;
border-radius: 3px;
}
QSlider::add-page:vertical {
width: 8px;
border-radius: 3px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #0F7DBE, stop:1 #1582C3);
}
QSlider::handle:vertical {
height: 14px;
margin-left: -3px;
margin-right: -3px;
border-radius: 6px;
background: qradialgradient(spread: pad, cx: 0.5, cy: 0.5, radius: 0.5, fx: 0.5, fy: 0.5, stop: 0.6 #F0F0F0, stop:0.778409 #50A3F0);
}
QSlider::handle:vertical:hover {
background: qradialgradient(spread: pad, cx: 0.5, cy: 0.5, radius: 0.5, fx: 0.5, fy: 0.5, stop: 0.6 #F0F0F0,stop:0.778409 #0F7DBE);
}
QScrollBar:vertical {
width:10px;
background-color:rgba(0,0,0,0%);
padding-top:10px;
padding-bottom:10px;
}
QScrollBar:horizontal {
height:10px;
background-color:rgba(0,0,0,0%);
padding-left:10px; padding-right:10px;
}
QScrollBar::handle:vertical {
width:10px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #50A3F0, stop:1 #489CEA);
}
QScrollBar::handle:horizontal {
height:10px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #50A3F0, stop:1 #489CEA);
}
QScrollBar::handle:vertical:hover {
width:10px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #0F7DBE, stop:1 #1582C3);
}
QScrollBar::handle:horizontal:hover {
height:10px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #0F7DBE, stop:1 #1582C3);
}
QScrollBar::add-line:vertical {
height:10px;
width:10px;
subcontrol-position: bottom;
subcontrol-origin: margin;
border-image:url(:/image/add-line_vertical.png);
}
QScrollBar::add-line:horizontal {
height:10px;
width:10px;
subcontrol-position: right;
subcontrol-origin: margin;
border-image:url(:/image/add-line_horizontal.png);
}
QScrollBar::sub-line:vertical {
height:10px;
width:10px;
subcontrol-position: top;
subcontrol-origin: margin;
border-image:url(:/image/sub-line_vertical.png);
}
QScrollBar::sub-line:horizontal {
height:10px;
width:10px;
subcontrol-position: left;
subcontrol-origin: margin;
border-image:url(:/image/sub-line_horizontal.png);
}
QScrollBar::add-page:vertical,QScrollBar::sub-page:vertical {
width:10px;
background: #C0C0C0;
}
QScrollBar::add-page:horizontal,QScrollBar::sub-page:horizontal {
height:10px;
background: #C0C0C0;
}
QScrollArea {
border: 0px ;
}
QTreeView,QListView,QTableView{
border: 1px solid #50A3F0;
selection-background-color: #0F7DBE;
selection-color: #F0F0F0;
}
QTableView::item:selected, QListView::item:selected, QTreeView::item:selected {
color: #F0F0F0;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #0F7DBE, stop:1 #1582C3);
}
QTableView::item:hover, QListView::item:hover, QTreeView::item:hover {
color: #F0F0F0;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #50A3F0, stop:1 #489CEA);
}
QTableView::item, QListView::item, QTreeView::item {
padding: 5px;
margin: 0px;
}
QHeaderView::section {
padding:3px;
margin:0px;
color:#F0F0F0;
border: 1px solid #F0F0F0;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #50A3F0, stop:1 #489CEA);
}
QTabBar::tab {
border-bottom-left-radius:0px;
border-bottom-right-radius:0px;
color: #F0F0F0;
min-width: 60px;
min-height: 20px;
padding: 3px 8px 3px 8px;
margin:1px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #50A3F0, stop:1 #489CEA);
}
QTabBar::tab:selected, QTabBar::tab:hover {
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #0F7DBE, stop:1 #1582C3);
}
QStatusBar::item {
border: 1px solid #50A3F0;
border-radius: 3px;
}
\ No newline at end of file
#include "logindlg.h"
#include "ui_logindlg.h"
#include "sqliteassistant/sqliteassistant.h"
#include "myhelper.h"
LoginDlg::LoginDlg(QWidget *parent) :
QDialog(parent),
ui(new Ui::LoginDlg)
{
ui->setupUi(this);
m_MainWindow = new MainWindow();
lab_tip = new QLabel(this);
timer_tip = new QTimer(this);
lab_tip->setSizeIncrement(200,20);
connect(timer_tip,&QTimer::timeout,this,[=](){
timer_tip->stop();
lab_tip->close();
});
connect(ui->pbn_close,&QPushButton::clicked,this,&MainWindow::close);
connect(ui->pbn_login,&QPushButton::clicked,this,[=](){
if(!LoginJudgment()){
return;
}else{
m_MainWindow->showMaximized();
this->close();
}
});
setWindowTitle("用户登陆");
LoadStyleSheet();
InitGui();
}
void LoginDlg::LoadStyleSheet()
{
QFile qss(":/image/Login_Dialog.qss");
qss.open(QFile::ReadOnly);
this->setStyleSheet(qss.readAll());
qss.close();
}
bool LoginDlg::LoginJudgment()
{
lab_tip->setStyleSheet("QLabel{background: transparent;border: 1px solid transparent;"
"color:rgb(255,0,0);font-weight: bold;font: 25 10pt Microsoft YaHei;padding: 1px;}");
lab_tip->move(this->width()/2 - 90,this->height()- ui->pbn_login->height());
QString user = m_SqliteAssistant->Select_AdminInfoName();
QString pwd = m_SqliteAssistant->Select_AdminInfo("admin");
QString rootuser = "root";
QString m_user = ui->lineEdit_user->text();
QString m_pwd = ui->lineEdit_pwd->text();
if(m_user == user && m_pwd == pwd ){
return true;
}
if(m_user == rootuser && m_pwd == pwd ){
//config->show();
this->close();
}
if(m_user == user && m_pwd != pwd){
lab_tip->setText("密码错误,请重新输入");
ui->lineEdit_pwd->clear();
ui->lineEdit_pwd->setFocus();
lab_tip->adjustSize();
lab_tip->show();
timer_tip->start(2000);
return false;
}
if(m_user != user && m_pwd == pwd){
lab_tip->setText("用户名错误,请重新输入");
ui->lineEdit_user->clear();
ui->lineEdit_user->setFocus();
lab_tip->adjustSize();
lab_tip->show();
timer_tip->start(2000);
return false;
}
if(m_user != user && m_pwd != pwd){
lab_tip->setText("用户名和密码错误,请重新输入");
ui->lineEdit_pwd->clear();
ui->lineEdit_user->clear();
ui->lineEdit_user->setFocus();
lab_tip->adjustSize();
lab_tip->show();
timer_tip->start(2000);
return false;
}
return false;
}
LoginDlg::~LoginDlg()
{
delete ui;
}
void LoginDlg::InitGui()
{
setWindowFlags(Qt::FramelessWindowHint|Qt::WindowStaysOnTopHint);
setAttribute(Qt::WA_TranslucentBackground);
ui->lab_title->setText("用户登陆");
ui->lab_name->setText("称重综合管理系统");
ui->lineEdit_user->setFocus();
}
#ifndef LOGINDLG_H
#define LOGINDLG_H
#include <QDialog>
#include <QLabel>
#include <QTimer>
#include "mainwindow.h"
namespace Ui {
class LoginDlg;
}
class LoginDlg : public QDialog
{
Q_OBJECT
public:
explicit LoginDlg(QWidget *parent = nullptr);
~LoginDlg();
MainWindow *m_MainWindow;
private:
void InitGui();
void LoadStyleSheet();
//登录判断
bool LoginJudgment();
private:
Ui::LoginDlg *ui;
QLabel *lab_tip;
QTimer *timer_tip;
};
#endif // LOGINDLG_H
#include "mainwindow.h"
#include "myhelper.h"
#include <QApplication>
#include <QDebug>
#include "modeller_applog/applog.h" //日志
#include "sqliteassistant/sqliteassistant.h" //数据库助手
#include "logindlg.h" //登陆
int LogKeepDay = 0; //日志保存天数,
SqliteAssistant *m_SqliteAssistant;
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Singleton<AppLog>::getInstance().start();
Singleton<AppLog>::getInstance().onClearLogFile("./log",LogKeepDay);
m_SqliteAssistant = new SqliteAssistant();
if(0!=m_SqliteAssistant->connectSql())
{
qDebug()<<"connectSql error";
}
else
{
qDebug()<<"connectSql ok";
}
myHelper::SetStyle("blue");
LoginDlg login;
login.show();
return a.exec();
}
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDateTime>
#include <QDebug>
static QDateTime c_1;
static int timeFlag = 0;
;
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
SoftStart();
dataUpDate();
m_SoftBreath = new QTimer(this);
m_systemTime = new QLabel();
statusBar()->addWidget(m_systemTime);
m_SoftBreath->start(1000);
connect(m_SoftBreath,&QTimer::timeout,this,[=](){
//软件心跳
m_SoftBreath_s = m_SoftBreath_s + 1;
if(m_SoftBreath_s>59){
m_SoftBreath_s = 0;
m_SoftBreath_m = m_SoftBreath_m+1;
}
if(m_SoftBreath_m>59){
m_SoftBreath_m = 0;
m_SoftBreath_h = m_SoftBreath_h + 1;
}
if(m_SoftBreath_h >23){
m_SoftBreath_h = 0;
m_SoftBreath_d = m_SoftBreath_d + 1;
}
ui->lcdNumber_second->display(m_SoftBreath_s);
ui->lcdNumber_minute->display(m_SoftBreath_m);
ui->lcdNumber_hour->display(m_SoftBreath_h);
ui->lcdNumber_day->display(m_SoftBreath_d);
});
}
MainWindow::~MainWindow()
{
delete ui;
SoftClose();
}
void MainWindow::SoftStart()
{
QDateTime time =QDateTime::currentDateTime();
QString str=time.toString("yyyy-MM-dd hh:mm:ss");
qDebug()<<"软件启动时间:"<<str;
}
void MainWindow::SoftClose()
{
QDateTime time =QDateTime::currentDateTime();
QString str=time.toString("yyyy-MM-dd hh:mm:ss");
qDebug()<<"软件关闭时间:"<<str;
}
void MainWindow::dataUpDate()
{
if(timeFlag == 0){
c_1 = QDateTime::currentDateTime();
QTimer *timer = new QTimer(this);
connect(timer,&QTimer::timeout,this,[=](){
QDateTime c_2 = QDateTime::currentDateTime();
m_systemTime->setText("系统累计运行时间--"+
QString::number(c_1.msecsTo(c_2)/3600000)+":"+
QString::number(c_1.msecsTo(c_2)%3600000/60000)+":"+
QString::number(c_1.msecsTo(c_2)%60000/1000)+"--");
});
timer->start(1000);
timeFlag = 1;
}
}
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QLabel>
#include <QMainWindow>
#include <QTimer>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
void SoftStart();
void SoftClose();
void dataUpDate();
private:
Ui::MainWindow *ui;
QLabel *m_systemTime;
QTimer *m_SoftBreath;
int m_SoftBreath_s = 0;
int m_SoftBreath_m = 0;
int m_SoftBreath_h = 0;
int m_SoftBreath_d = 0;
};
#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>800</width>
<height>600</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QWidget" name="widget_main" native="true">
<layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="0">
<widget class="QWidget" name="widget_title" native="true">
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item row="1" column="0">
<widget class="QWidget" name="widget_pbn" native="true">
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="pushButton">
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_2">
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_3">
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_4">
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_5">
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_6">
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item row="2" column="0">
<widget class="QWidget" name="widget_body" native="true">
<widget class="QLabel" name="lab_time">
<property name="geometry">
<rect>
<x>140</x>
<y>140</y>
<width>141</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QWidget" name="">
<property name="geometry">
<rect>
<x>110</x>
<y>80</y>
<width>372</width>
<height>25</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QLCDNumber" name="lcdNumber_day"/>
</item>
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QLCDNumber" name="lcdNumber_hour"/>
</item>
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>:</string>
</property>
</widget>
</item>
<item>
<widget class="QLCDNumber" name="lcdNumber_minute"/>
</item>
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>:</string>
</property>
</widget>
</item>
<item>
<widget class="QLCDNumber" name="lcdNumber_second"/>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>23</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>
#include "applog.h"
#include <QMutex>
#include <QFile>
#include <QTextStream>
#include <QDir>
#include <QDate>
#include <QApplication>
QtMessageHandler messageHandler = NULL;
AppLog::AppLog()
{
}
AppLog::~AppLog()
{
}
void outputMessage(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
QString text;
switch(type)
{
case QtDebugMsg:
text = QString("Debug");
break;
case QtInfoMsg:
text = QString("Info");
break;
case QtWarningMsg:
text = QString("Warning");
break;
case QtCriticalMsg:
text = QString("Critical");
break;
case QtFatalMsg:
text = QString("Fatal");
}
QString context_info = QString("File:(%1) Line:(%2) Function:%3")
.arg(QString(context.file))
.arg(context.line)
.arg(context.function);
QString current_date_time = QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss ddd");
QString current_date = QString("(%1)").arg(current_date_time);
QString message = QString("%1 %2 %3").arg(context_info).arg(msg).arg(current_date);
//加锁
static QMutex applog_mutex;
applog_mutex.lock();
//输出信息至文件中(读写、追加形式)
// QString logFileDir = QString("%1/log/%2")
// .arg(QApplication::applicationDirPath())
// .arg(QDate::currentDate().toString("yyyy-MM-dd"));
QString logFileDir = QString("%1/log")
.arg(QApplication::applicationDirPath());
// QString logFileName = QString("%1_%2_log.txt")
// .arg(QApplication::applicationName())
// .arg(text);
QString logFileName = QString("%1_%2_%3_log.txt")
.arg(QApplication::applicationName())
.arg(text)
.arg(QDate::currentDate().toString("yyyy-MM-dd"));
QDir logDir(logFileDir);
if (!logDir.exists())
logDir.mkpath(logFileDir);
QFile file(QString("%1/%2").arg(logFileDir).arg(logFileName));
file.open(QIODevice::WriteOnly | QIODevice::Append | QFile::Text);
QTextStream text_stream(&file);
text_stream << message << "\r\n";
file.flush();
file.close();
//解锁
applog_mutex.unlock();
//用系统原来的函数完成原来的功能. 比如输出到调试窗
if (messageHandler)
messageHandler(type, context, msg);
}
void AppLog::start()
{
//安装日志钩子
messageHandler = qInstallMessageHandler(outputMessage);
}
void AppLog::stop()
{
//卸载日志钩子
qInstallMessageHandler(0);
}
void AppLog::onClearLogFile(QString path, int keepLogDays)
{
QStringList fileList;
//需要清理文件的类型
QStringList filterList;
QString fileType = "*.txt";
filterList.append(fileType);
//获取目录内的文件列表
QDir dir = QDir(path);
Q_ASSERT(dir.exists());
fileList = dir.entryList(filterList, QDir::Files, QDir::Name);
QDateTime currDt = QDateTime::currentDateTime();
foreach (QString fileName, fileList)
{
//获取文件的创建时间
QFileInfo info(path + "/" + fileName);
QDateTime dt = info.created();
int days = dt.daysTo(currDt);
if(days > keepLogDays)
{
QFile::remove(path + "/" + fileName);
}
}
}
bool RemoveDir(QString dirPath)
{
if(dirPath.isEmpty())
return false;
QDir dir(dirPath);
if(!dir.exists())
return true;
for(QFileInfo info:dir.entryInfoList())
{
if(info.isFile())
{
QFile::remove(info.filePath());
}
else
{
RemoveDir(info.absoluteFilePath());
}
}
return dir.remove(dir.absolutePath());
}
#ifndef APPLOG_H
#define APPLOG_H
#include <QObject>
#include "singleton.h"
class AppLog
{
SINGLETON(AppLog)
public:
void start();
void stop();
void onClearLogFile(QString path, int keepLogDays);
};
#endif // APPLOG_H
#程序的记录员
HEADERS += \
$$PWD/applog.h
SOURCES += \
$$PWD/applog.cpp
#ifndef SINGLETON_H
#define SINGLETON_H
#include <QMutex>
#include <QScopedPointer>
/**
* 使用方法:
* 1. 定义类为单例:
* class ConnectionPool {
* SINGLETON(ConnectionPool) // Here
* public:
*
* 2. 获取单例类的对象:
* Singleton<ConnectionPool>::getInstance();
* ConnectionPool &pool = Singleton<ConnectionPool>::getInstance();
* 注意: 如果单例的类需要释放的资源和 Qt 底层的信号系统有关系,例如 QSettings,QSqlDatabase 等,
* 需要在程序结束前手动释放(也就是在 main() 函数返回前调用释放资源的函数,参考 ConnectionPool 的调用),
* 否则有可能在程序退出时报系统底层的信号错误,导致如 QSettings 的数据没有保存。
*/
template <typename T>
class Singleton {
public:
static T& getInstance();
Singleton(const Singleton &other);
Singleton<T>& operator=(const Singleton &other);
private:
//同步锁
static QMutex mutex;
//智能指针,只在该作用域存在,一旦出该作用域,就会自动销毁
static QScopedPointer<T> instance;
};
/*-----------------------------------------------------------------------------|
| Singleton implementation |
|----------------------------------------------------------------------------*/
template <typename T> QMutex Singleton<T>::mutex;
template <typename T> QScopedPointer<T> Singleton<T>::instance;
template <typename T>
T &Singleton<T>::getInstance()
{
if (instance.isNull()) {
mutex.lock();
if (instance.isNull()) {
//reset():delete目前指向的对象,调用其析构函数,将指针指向另一个对象other,所有权转移到other
instance.reset(new T());
}
mutex.unlock();
}
/**
* 获取智能指针动态创建的对象的指针有两种方法:QScopedPointer#data() 和 QScopedPointer#take()
* T *QScopedPointer::data() const返回指向对象的常量指针,QScopedPointer仍拥有对象所有权。
* 所以通过data()返回过后就被自动删除了,从而导致mian函数中的p1变成了野指针,程序崩溃.
* 使用T *QScopedPointer::take()也是返回对象指针,但QScopedPointer不再拥有对象所有权,而
* 是转移到调用这个函数的caller,同时QScopePointer对象指针置为NULL
*/
return *instance.data();
}
/*-----------------------------------------------------------------------------|
| Singleton Macro |
|----------------------------------------------------------------------------*/
/**
* QScopedPointerDeleter 是 QScopedPointer 的默认实现,使用delete删除指针
* 宏中不能使用 // 添加注释,换行续添加换行符 “\”
*
* 宏中已经申明了构造函数和析构函数,使用该宏的类直接写函数体即可,无需再次申明
*/
#define SINGLETON(Class) \
private: \
Class(); \
~Class(); \
Class(const Class &other); \
Class& operator=(const Class &other); \
friend class Singleton<Class>; /* 注释必须写在续行符("\")的前面 */ \
friend struct QScopedPointerDeleter<Class>;/* 末尾注释不需要加续行符 */
#endif // DBUTIL_H
#ifndef MYHELPER_H
#define MYHELPER_H
#include <QApplication>
#include <QDesktopWidget>
#include <QFile>
#include <QSettings>
#include <QTime>
#include <QTranslator>
#include "frmmessagebox.h"
class myHelper: public QObject
{
public:
//设置为开机启动
static void AutoRunWithSystem(bool IsAutoRun, QString AppName, QString AppPath)
{
QSettings *reg = new QSettings(
"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",
QSettings::NativeFormat);
if (IsAutoRun) {
reg->setValue(AppName, AppPath);
} else {
reg->setValue(AppName, "");
}
}
//设置编码为UTF8
static void SetUTF8Code()
{
#if (QT_VERSION <= QT_VERSION_CHECK(5,0,0))
QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForTr(codec);
#endif
}
//设置皮肤样式
static void SetStyle(const QString &styleName)
{
QFile file(QString(":/image/%1.css").arg(styleName));
file.open(QFile::ReadOnly);
QString qss = QLatin1String(file.readAll());
qApp->setStyleSheet(qss);
qApp->setPalette(QPalette(QColor("#F0F0F0")));
}
//加载中文字符
static void SetChinese()
{
QTranslator *translator = new QTranslator(qApp);
translator->load(":/image/qt_zh_CN.qm");
qApp->installTranslator(translator);
}
//判断是否是IP地址
static bool IsIP(QString IP)
{
QRegExp RegExp("((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)");
return RegExp.exactMatch(IP);
}
//显示信息框,仅确定按钮
static void ShowMessageBoxInfo(QString info)
{
frmMessageBox *msg = new frmMessageBox;
msg->SetMessage(info, 0);
msg->exec();
}
//显示错误框,仅确定按钮
static void ShowMessageBoxError(QString info)
{
frmMessageBox *msg = new frmMessageBox;
msg->SetMessage(info, 2);
msg->exec();
}
//显示询问框,确定和取消按钮
static int ShowMessageBoxQuesion(QString info)
{
frmMessageBox *msg = new frmMessageBox;
msg->SetMessage(info, 1);
return msg->exec();
}
//延时
static void Sleep(int sec)
{
QTime dieTime = QTime::currentTime().addMSecs(sec);
while ( QTime::currentTime() < dieTime ) {
QCoreApplication::processEvents(QEventLoop::AllEvents, 100);
}
}
//窗体居中显示
static void FormInCenter(QWidget *frm)
{
int frmX = frm->width();
int frmY = frm->height();
QDesktopWidget w;
int deskWidth = w.width();
int deskHeight = w.height();
QPoint movePoint(deskWidth / 2 - frmX / 2, deskHeight / 2 - frmY / 2);
frm->move(movePoint);
}
};
#endif // MYHELPER_H
#ifndef SQLITEASSISTANT_H
#define SQLITEASSISTANT_H
#include <QObject>
#include <QSql>
#include <QSqlQueryModel>
#include <QTableWidget>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlQuery>
#include <QtSql/QSqlError>
#include "vehinfo.h"
class SqliteAssistant : public QObject
{
Q_OBJECT
public:
explicit SqliteAssistant(QObject *parent = nullptr);
long connectSql(); //检测连接
long Insert_GoodTypeInfo(QString data); //插入货物信息
QStringList Select_GoodTypeInfo(); //查询货物信息
long Insert_CustomerInfo(QString data); //插入客户信息
QStringList Select_CustomerInfo(); //查询客户信息
QStringList Select_EqptInfo(); //查询设备表信息
long Delete_CustomerInfo(QString data); //删除客户信息
long Delete_GoodTypeInfo(QString data); //删除货物信息
long Insert_EquipmentInfo(QString data,QString data2); //插入设备注册信息
long Delete_EquipmentInfo(QString data); //删除设备注册信息
long Insert_SystemConfigInfo(QString data,QString data2); //插入配置信息
//long Updata_SystemConfigInfo(QString data,QString data2); //更新配置信息
QString Select_SystemConfigInfo(QString data); //查询配置信息
QString Select_AdminInfo(QString data); //查询管理员信息
QString Select_AdminInfoName(); //查询管理员名字
long Insert_UserInfo(QString data,QString data2,QString data3); //插入用户信息
QStringList Select_UserInfo(); //查找用户信息
QStringList Select_UserInfo2(); //查找用户信息2
QString Select_UserInfo3(QString data); //查找用户信息3
long Delete_UserInfo(QString data); //删除用户
long Updata_AdminInfo(QString data); //查询管理员信息
long Insert_WeighingRun(QString data,QString data2,
QString data3,QString data4,
QString data5,QString data6,
QString data7,QString data8,
QString data9,QString data10); //插入称重信息
long select_ui_WeighingRun(QTableWidget *weight,int sumCount);
long Delete_WeighingRun(int data); //删除记录
int GetRowounts(QString tableName); // 获取表记录
long SelectInfo_sqliteView(QTableWidget *weight,SelectInfor &infor,int sumCount); //查询界面
// long Insert_GoodTypeInfo(QString data);
// long Insert_GoodTypeInfo(QString data);
// long Insert_GoodTypeInfo(QString data);
// long Insert_GoodTypeInfo(QString data);
// long Insert_GoodTypeInfo(QString data);
signals:
void Send_Data_Exists();
void Send_Data_Not_Exists();
void RecvFromBridge_Insert_GoodTypeInfo(QString data);
void Send_DataModel(QSqlQueryModel *data);
private:
QSqlDatabase database;
QSqlQuery *m_pSqlHandle;
};
extern SqliteAssistant *m_SqliteAssistant;
#endif // SQLITEASSISTANT_H
HEADERS += \
$$PWD/sqliteassistant.h
SOURCES += \
$$PWD/sqliteassistant.cpp
/****************************************************************************
** Meta object code from reading C++ file 'frmmessagebox.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.13.2)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include <memory>
#include "../../frmmessagebox.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'frmmessagebox.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.13.2. 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
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_frmMessageBox_t {
QByteArrayData data[3];
char stringdata0[32];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_frmMessageBox_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_frmMessageBox_t qt_meta_stringdata_frmMessageBox = {
{
QT_MOC_LITERAL(0, 0, 13), // "frmMessageBox"
QT_MOC_LITERAL(1, 14, 16), // "on_btnOk_clicked"
QT_MOC_LITERAL(2, 31, 0) // ""
},
"frmMessageBox\0on_btnOk_clicked\0"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_frmMessageBox[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
1, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 0, 19, 2, 0x08 /* Private */,
// slots: parameters
QMetaType::Void,
0 // eod
};
void frmMessageBox::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<frmMessageBox *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->on_btnOk_clicked(); break;
default: ;
}
}
Q_UNUSED(_a);
}
QT_INIT_METAOBJECT const QMetaObject frmMessageBox::staticMetaObject = { {
&QDialog::staticMetaObject,
qt_meta_stringdata_frmMessageBox.data,
qt_meta_data_frmMessageBox,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *frmMessageBox::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *frmMessageBox::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_frmMessageBox.stringdata0))
return static_cast<void*>(this);
return QDialog::qt_metacast(_clname);
}
int frmMessageBox::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QDialog::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 1)
qt_static_metacall(this, _c, _id, _a);
_id -= 1;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 1)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 1;
}
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE
/****************************************************************************
** Meta object code from reading C++ file 'logindlg.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.13.2)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include <memory>
#include "../../logindlg.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'logindlg.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.13.2. 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
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_LoginDlg_t {
QByteArrayData data[1];
char stringdata0[9];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_LoginDlg_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_LoginDlg_t qt_meta_stringdata_LoginDlg = {
{
QT_MOC_LITERAL(0, 0, 8) // "LoginDlg"
},
"LoginDlg"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_LoginDlg[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
0, 0, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
0 // eod
};
void LoginDlg::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
Q_UNUSED(_o);
Q_UNUSED(_id);
Q_UNUSED(_c);
Q_UNUSED(_a);
}
QT_INIT_METAOBJECT const QMetaObject LoginDlg::staticMetaObject = { {
&QDialog::staticMetaObject,
qt_meta_stringdata_LoginDlg.data,
qt_meta_data_LoginDlg,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *LoginDlg::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *LoginDlg::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_LoginDlg.stringdata0))
return static_cast<void*>(this);
return QDialog::qt_metacast(_clname);
}
int LoginDlg::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QDialog::qt_metacall(_c, _id, _a);
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE
/****************************************************************************
** Meta object code from reading C++ file 'mainwindow.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.13.2)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include <memory>
#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.13.2. 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
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_MainWindow_t {
QByteArrayData data[1];
char stringdata0[11];
};
#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"
},
"MainWindow"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_MainWindow[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
0, 0, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
0 // eod
};
void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
Q_UNUSED(_o);
Q_UNUSED(_id);
Q_UNUSED(_c);
Q_UNUSED(_a);
}
QT_INIT_METAOBJECT const QMetaObject MainWindow::staticMetaObject = { {
&QMainWindow::staticMetaObject,
qt_meta_stringdata_MainWindow.data,
qt_meta_data_MainWindow,
qt_static_metacall,
nullptr,
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 nullptr;
if (!strcmp(_clname, qt_meta_stringdata_MainWindow.stringdata0))
return static_cast<void*>(this);
return QMainWindow::qt_metacast(_clname);
}
int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QMainWindow::qt_metacall(_c, _id, _a);
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE
/****************************************************************************
** Meta object code from reading C++ file 'sqliteassistant.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.13.2)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include <memory>
#include "../../sqliteassistant/sqliteassistant.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'sqliteassistant.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.13.2. 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
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_SqliteAssistant_t {
QByteArrayData data[8];
char stringdata0[126];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_SqliteAssistant_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_SqliteAssistant_t qt_meta_stringdata_SqliteAssistant = {
{
QT_MOC_LITERAL(0, 0, 15), // "SqliteAssistant"
QT_MOC_LITERAL(1, 16, 16), // "Send_Data_Exists"
QT_MOC_LITERAL(2, 33, 0), // ""
QT_MOC_LITERAL(3, 34, 20), // "Send_Data_Not_Exists"
QT_MOC_LITERAL(4, 55, 34), // "RecvFromBridge_Insert_GoodTyp..."
QT_MOC_LITERAL(5, 90, 4), // "data"
QT_MOC_LITERAL(6, 95, 14), // "Send_DataModel"
QT_MOC_LITERAL(7, 110, 15) // "QSqlQueryModel*"
},
"SqliteAssistant\0Send_Data_Exists\0\0"
"Send_Data_Not_Exists\0"
"RecvFromBridge_Insert_GoodTypeInfo\0"
"data\0Send_DataModel\0QSqlQueryModel*"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_SqliteAssistant[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
4, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
4, // signalCount
// signals: name, argc, parameters, tag, flags
1, 0, 34, 2, 0x06 /* Public */,
3, 0, 35, 2, 0x06 /* Public */,
4, 1, 36, 2, 0x06 /* Public */,
6, 1, 39, 2, 0x06 /* Public */,
// signals: parameters
QMetaType::Void,
QMetaType::Void,
QMetaType::Void, QMetaType::QString, 5,
QMetaType::Void, 0x80000000 | 7, 5,
0 // eod
};
void SqliteAssistant::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<SqliteAssistant *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->Send_Data_Exists(); break;
case 1: _t->Send_Data_Not_Exists(); break;
case 2: _t->RecvFromBridge_Insert_GoodTypeInfo((*reinterpret_cast< QString(*)>(_a[1]))); break;
case 3: _t->Send_DataModel((*reinterpret_cast< QSqlQueryModel*(*)>(_a[1]))); break;
default: ;
}
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
switch (_id) {
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
case 3:
switch (*reinterpret_cast<int*>(_a[1])) {
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
case 0:
*reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< QSqlQueryModel* >(); break;
}
break;
}
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
{
using _t = void (SqliteAssistant::*)();
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&SqliteAssistant::Send_Data_Exists)) {
*result = 0;
return;
}
}
{
using _t = void (SqliteAssistant::*)();
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&SqliteAssistant::Send_Data_Not_Exists)) {
*result = 1;
return;
}
}
{
using _t = void (SqliteAssistant::*)(QString );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&SqliteAssistant::RecvFromBridge_Insert_GoodTypeInfo)) {
*result = 2;
return;
}
}
{
using _t = void (SqliteAssistant::*)(QSqlQueryModel * );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&SqliteAssistant::Send_DataModel)) {
*result = 3;
return;
}
}
}
}
QT_INIT_METAOBJECT const QMetaObject SqliteAssistant::staticMetaObject = { {
&QObject::staticMetaObject,
qt_meta_stringdata_SqliteAssistant.data,
qt_meta_data_SqliteAssistant,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *SqliteAssistant::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *SqliteAssistant::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_SqliteAssistant.stringdata0))
return static_cast<void*>(this);
return QObject::qt_metacast(_clname);
}
int SqliteAssistant::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::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)
qt_static_metacall(this, _c, _id, _a);
_id -= 4;
}
return _id;
}
// SIGNAL 0
void SqliteAssistant::Send_Data_Exists()
{
QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
}
// SIGNAL 1
void SqliteAssistant::Send_Data_Not_Exists()
{
QMetaObject::activate(this, &staticMetaObject, 1, nullptr);
}
// SIGNAL 2
void SqliteAssistant::RecvFromBridge_Insert_GoodTypeInfo(QString _t1)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
QMetaObject::activate(this, &staticMetaObject, 2, _a);
}
// SIGNAL 3
void SqliteAssistant::Send_DataModel(QSqlQueryModel * _t1)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
QMetaObject::activate(this, &staticMetaObject, 3, _a);
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE
This source diff could not be displayed because it is too large. You can view the blob instead.
/********************************************************************************
** Form generated from reading UI file 'frmmessagebox.ui'
**
** Created by: Qt User Interface Compiler version 5.13.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef UI_FRMMESSAGEBOX_H
#define UI_FRMMESSAGEBOX_H
#include <QtCore/QVariant>
#include <QtGui/QIcon>
#include <QtWidgets/QApplication>
#include <QtWidgets/QDialog>
#include <QtWidgets/QGroupBox>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLabel>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget>
QT_BEGIN_NAMESPACE
class Ui_frmMessageBox
{
public:
QVBoxLayout *verticalLayout;
QWidget *widget_title;
QHBoxLayout *horizontalLayout_2;
QLabel *lab_Ico;
QLabel *lab_Title;
QWidget *widget_menu;
QHBoxLayout *horizontalLayout;
QPushButton *btnMenu_Close;
QWidget *widget_main;
QVBoxLayout *verticalLayout_2;
QGroupBox *groupBox;
QLabel *labIcoMain;
QLabel *labInfo;
QWidget *layoutWidget;
QHBoxLayout *horizontalLayout_3;
QSpacerItem *horizontalSpacer;
QPushButton *btnOk;
QPushButton *btnCancel;
void setupUi(QDialog *frmMessageBox)
{
if (frmMessageBox->objectName().isEmpty())
frmMessageBox->setObjectName(QString::fromUtf8("frmMessageBox"));
frmMessageBox->resize(303, 143);
verticalLayout = new QVBoxLayout(frmMessageBox);
verticalLayout->setSpacing(0);
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
verticalLayout->setContentsMargins(0, 0, 0, 0);
widget_title = new QWidget(frmMessageBox);
widget_title->setObjectName(QString::fromUtf8("widget_title"));
QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(widget_title->sizePolicy().hasHeightForWidth());
widget_title->setSizePolicy(sizePolicy);
widget_title->setMinimumSize(QSize(100, 28));
horizontalLayout_2 = new QHBoxLayout(widget_title);
horizontalLayout_2->setSpacing(0);
horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
horizontalLayout_2->setContentsMargins(0, 0, 0, 0);
lab_Ico = new QLabel(widget_title);
lab_Ico->setObjectName(QString::fromUtf8("lab_Ico"));
QSizePolicy sizePolicy1(QSizePolicy::Minimum, QSizePolicy::Preferred);
sizePolicy1.setHorizontalStretch(0);
sizePolicy1.setVerticalStretch(0);
sizePolicy1.setHeightForWidth(lab_Ico->sizePolicy().hasHeightForWidth());
lab_Ico->setSizePolicy(sizePolicy1);
lab_Ico->setMinimumSize(QSize(31, 0));
lab_Ico->setAlignment(Qt::AlignCenter);
horizontalLayout_2->addWidget(lab_Ico);
lab_Title = new QLabel(widget_title);
lab_Title->setObjectName(QString::fromUtf8("lab_Title"));
QSizePolicy sizePolicy2(QSizePolicy::Expanding, QSizePolicy::Preferred);
sizePolicy2.setHorizontalStretch(0);
sizePolicy2.setVerticalStretch(0);
sizePolicy2.setHeightForWidth(lab_Title->sizePolicy().hasHeightForWidth());
lab_Title->setSizePolicy(sizePolicy2);
lab_Title->setStyleSheet(QString::fromUtf8("font: 10pt \"\345\276\256\350\275\257\351\233\205\351\273\221\";"));
lab_Title->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);
horizontalLayout_2->addWidget(lab_Title);
widget_menu = new QWidget(widget_title);
widget_menu->setObjectName(QString::fromUtf8("widget_menu"));
sizePolicy1.setHeightForWidth(widget_menu->sizePolicy().hasHeightForWidth());
widget_menu->setSizePolicy(sizePolicy1);
horizontalLayout = new QHBoxLayout(widget_menu);
horizontalLayout->setSpacing(0);
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
horizontalLayout->setContentsMargins(0, 0, 0, 0);
btnMenu_Close = new QPushButton(widget_menu);
btnMenu_Close->setObjectName(QString::fromUtf8("btnMenu_Close"));
QSizePolicy sizePolicy3(QSizePolicy::Minimum, QSizePolicy::Expanding);
sizePolicy3.setHorizontalStretch(0);
sizePolicy3.setVerticalStretch(0);
sizePolicy3.setHeightForWidth(btnMenu_Close->sizePolicy().hasHeightForWidth());
btnMenu_Close->setSizePolicy(sizePolicy3);
btnMenu_Close->setMinimumSize(QSize(40, 0));
btnMenu_Close->setCursor(QCursor(Qt::ArrowCursor));
btnMenu_Close->setFocusPolicy(Qt::NoFocus);
btnMenu_Close->setFlat(true);
horizontalLayout->addWidget(btnMenu_Close);
horizontalLayout_2->addWidget(widget_menu);
verticalLayout->addWidget(widget_title);
widget_main = new QWidget(frmMessageBox);
widget_main->setObjectName(QString::fromUtf8("widget_main"));
widget_main->setStyleSheet(QString::fromUtf8("font: 11pt \"\345\276\256\350\275\257\351\233\205\351\273\221\";"));
verticalLayout_2 = new QVBoxLayout(widget_main);
verticalLayout_2->setSpacing(5);
verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2"));
verticalLayout_2->setContentsMargins(5, 5, 5, 5);
groupBox = new QGroupBox(widget_main);
groupBox->setObjectName(QString::fromUtf8("groupBox"));
labIcoMain = new QLabel(groupBox);
labIcoMain->setObjectName(QString::fromUtf8("labIcoMain"));
labIcoMain->setGeometry(QRect(10, 10, 45, 45));
labIcoMain->setStyleSheet(QString::fromUtf8("border-image: url(:/image/info.png);"));
labInfo = new QLabel(groupBox);
labInfo->setObjectName(QString::fromUtf8("labInfo"));
labInfo->setGeometry(QRect(70, 10, 211, 41));
labInfo->setScaledContents(false);
labInfo->setWordWrap(true);
layoutWidget = new QWidget(groupBox);
layoutWidget->setObjectName(QString::fromUtf8("layoutWidget"));
layoutWidget->setGeometry(QRect(10, 60, 271, 34));
horizontalLayout_3 = new QHBoxLayout(layoutWidget);
horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3"));
horizontalLayout_3->setContentsMargins(0, 0, 0, 0);
horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
horizontalLayout_3->addItem(horizontalSpacer);
btnOk = new QPushButton(layoutWidget);
btnOk->setObjectName(QString::fromUtf8("btnOk"));
btnOk->setCursor(QCursor(Qt::PointingHandCursor));
btnOk->setFocusPolicy(Qt::StrongFocus);
btnOk->setStyleSheet(QString::fromUtf8(""));
QIcon icon;
icon.addFile(QString::fromUtf8(":/image/update.png"), QSize(), QIcon::Normal, QIcon::Off);
btnOk->setIcon(icon);
btnOk->setIconSize(QSize(20, 20));
horizontalLayout_3->addWidget(btnOk);
btnCancel = new QPushButton(layoutWidget);
btnCancel->setObjectName(QString::fromUtf8("btnCancel"));
btnCancel->setCursor(QCursor(Qt::PointingHandCursor));
btnCancel->setFocusPolicy(Qt::StrongFocus);
btnCancel->setStyleSheet(QString::fromUtf8(""));
QIcon icon1;
icon1.addFile(QString::fromUtf8(":/image/close.png"), QSize(), QIcon::Normal, QIcon::Off);
btnCancel->setIcon(icon1);
btnCancel->setIconSize(QSize(20, 20));
horizontalLayout_3->addWidget(btnCancel);
verticalLayout_2->addWidget(groupBox);
verticalLayout->addWidget(widget_main);
retranslateUi(frmMessageBox);
QMetaObject::connectSlotsByName(frmMessageBox);
} // setupUi
void retranslateUi(QDialog *frmMessageBox)
{
frmMessageBox->setWindowTitle(QCoreApplication::translate("frmMessageBox", "\346\217\220\347\244\272", nullptr));
lab_Ico->setText(QString());
lab_Title->setText(QCoreApplication::translate("frmMessageBox", "\346\217\220\347\244\272", nullptr));
#if QT_CONFIG(tooltip)
btnMenu_Close->setToolTip(QCoreApplication::translate("frmMessageBox", "\345\205\263\351\227\255", nullptr));
#endif // QT_CONFIG(tooltip)
btnMenu_Close->setText(QString());
groupBox->setTitle(QString());
labIcoMain->setText(QString());
labInfo->setText(QCoreApplication::translate("frmMessageBox", "\347\241\256\345\256\232\350\246\201\345\210\240\351\231\244\345\220\227?", nullptr));
btnOk->setText(QCoreApplication::translate("frmMessageBox", "\347\241\256\345\256\232(&O)", nullptr));
btnCancel->setText(QCoreApplication::translate("frmMessageBox", "\345\217\226\346\266\210(&C)", nullptr));
} // retranslateUi
};
namespace Ui {
class frmMessageBox: public Ui_frmMessageBox {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_FRMMESSAGEBOX_H
/********************************************************************************
** Form generated from reading UI file 'mainwindow.ui'
**
** Created by: Qt User Interface Compiler version 5.13.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef UI_MAINWINDOW_H
#define UI_MAINWINDOW_H
#include <QtCore/QVariant>
#include <QtWidgets/QApplication>
#include <QtWidgets/QGridLayout>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLCDNumber>
#include <QtWidgets/QLabel>
#include <QtWidgets/QMainWindow>
#include <QtWidgets/QMenuBar>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QStatusBar>
#include <QtWidgets/QWidget>
QT_BEGIN_NAMESPACE
class Ui_MainWindow
{
public:
QWidget *centralwidget;
QGridLayout *gridLayout;
QWidget *widget_main;
QGridLayout *gridLayout_5;
QWidget *widget_title;
QGridLayout *gridLayout_2;
QHBoxLayout *horizontalLayout;
QSpacerItem *horizontalSpacer;
QLabel *label;
QSpacerItem *horizontalSpacer_2;
QWidget *widget_pbn;
QGridLayout *gridLayout_3;
QHBoxLayout *horizontalLayout_2;
QSpacerItem *horizontalSpacer_4;
QPushButton *pushButton;
QPushButton *pushButton_2;
QPushButton *pushButton_3;
QPushButton *pushButton_4;
QPushButton *pushButton_5;
QPushButton *pushButton_6;
QSpacerItem *horizontalSpacer_3;
QWidget *widget_body;
QLabel *lab_time;
QWidget *widget;
QHBoxLayout *horizontalLayout_3;
QLCDNumber *lcdNumber_day;
QLabel *label_2;
QLCDNumber *lcdNumber_hour;
QLabel *label_3;
QLCDNumber *lcdNumber_minute;
QLabel *label_4;
QLCDNumber *lcdNumber_second;
QMenuBar *menubar;
QStatusBar *statusbar;
void setupUi(QMainWindow *MainWindow)
{
if (MainWindow->objectName().isEmpty())
MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
MainWindow->resize(800, 600);
centralwidget = new QWidget(MainWindow);
centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
gridLayout = new QGridLayout(centralwidget);
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
widget_main = new QWidget(centralwidget);
widget_main->setObjectName(QString::fromUtf8("widget_main"));
gridLayout_5 = new QGridLayout(widget_main);
gridLayout_5->setObjectName(QString::fromUtf8("gridLayout_5"));
widget_title = new QWidget(widget_main);
widget_title->setObjectName(QString::fromUtf8("widget_title"));
gridLayout_2 = new QGridLayout(widget_title);
gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
horizontalLayout = new QHBoxLayout();
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
horizontalLayout->addItem(horizontalSpacer);
label = new QLabel(widget_title);
label->setObjectName(QString::fromUtf8("label"));
horizontalLayout->addWidget(label);
horizontalSpacer_2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
horizontalLayout->addItem(horizontalSpacer_2);
gridLayout_2->addLayout(horizontalLayout, 0, 0, 1, 1);
gridLayout_5->addWidget(widget_title, 0, 0, 1, 1);
widget_pbn = new QWidget(widget_main);
widget_pbn->setObjectName(QString::fromUtf8("widget_pbn"));
gridLayout_3 = new QGridLayout(widget_pbn);
gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3"));
horizontalLayout_2 = new QHBoxLayout();
horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
horizontalSpacer_4 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
horizontalLayout_2->addItem(horizontalSpacer_4);
pushButton = new QPushButton(widget_pbn);
pushButton->setObjectName(QString::fromUtf8("pushButton"));
horizontalLayout_2->addWidget(pushButton);
pushButton_2 = new QPushButton(widget_pbn);
pushButton_2->setObjectName(QString::fromUtf8("pushButton_2"));
horizontalLayout_2->addWidget(pushButton_2);
pushButton_3 = new QPushButton(widget_pbn);
pushButton_3->setObjectName(QString::fromUtf8("pushButton_3"));
horizontalLayout_2->addWidget(pushButton_3);
pushButton_4 = new QPushButton(widget_pbn);
pushButton_4->setObjectName(QString::fromUtf8("pushButton_4"));
horizontalLayout_2->addWidget(pushButton_4);
pushButton_5 = new QPushButton(widget_pbn);
pushButton_5->setObjectName(QString::fromUtf8("pushButton_5"));
horizontalLayout_2->addWidget(pushButton_5);
pushButton_6 = new QPushButton(widget_pbn);
pushButton_6->setObjectName(QString::fromUtf8("pushButton_6"));
horizontalLayout_2->addWidget(pushButton_6);
horizontalSpacer_3 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
horizontalLayout_2->addItem(horizontalSpacer_3);
gridLayout_3->addLayout(horizontalLayout_2, 0, 0, 1, 1);
gridLayout_5->addWidget(widget_pbn, 1, 0, 1, 1);
widget_body = new QWidget(widget_main);
widget_body->setObjectName(QString::fromUtf8("widget_body"));
lab_time = new QLabel(widget_body);
lab_time->setObjectName(QString::fromUtf8("lab_time"));
lab_time->setGeometry(QRect(140, 140, 141, 16));
widget = new QWidget(widget_body);
widget->setObjectName(QString::fromUtf8("widget"));
widget->setGeometry(QRect(110, 80, 372, 25));
horizontalLayout_3 = new QHBoxLayout(widget);
horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3"));
horizontalLayout_3->setContentsMargins(0, 0, 0, 0);
lcdNumber_day = new QLCDNumber(widget);
lcdNumber_day->setObjectName(QString::fromUtf8("lcdNumber_day"));
horizontalLayout_3->addWidget(lcdNumber_day);
label_2 = new QLabel(widget);
label_2->setObjectName(QString::fromUtf8("label_2"));
horizontalLayout_3->addWidget(label_2);
lcdNumber_hour = new QLCDNumber(widget);
lcdNumber_hour->setObjectName(QString::fromUtf8("lcdNumber_hour"));
horizontalLayout_3->addWidget(lcdNumber_hour);
label_3 = new QLabel(widget);
label_3->setObjectName(QString::fromUtf8("label_3"));
horizontalLayout_3->addWidget(label_3);
lcdNumber_minute = new QLCDNumber(widget);
lcdNumber_minute->setObjectName(QString::fromUtf8("lcdNumber_minute"));
horizontalLayout_3->addWidget(lcdNumber_minute);
label_4 = new QLabel(widget);
label_4->setObjectName(QString::fromUtf8("label_4"));
horizontalLayout_3->addWidget(label_4);
lcdNumber_second = new QLCDNumber(widget);
lcdNumber_second->setObjectName(QString::fromUtf8("lcdNumber_second"));
horizontalLayout_3->addWidget(lcdNumber_second);
gridLayout_5->addWidget(widget_body, 2, 0, 1, 1);
gridLayout->addWidget(widget_main, 0, 0, 1, 1);
MainWindow->setCentralWidget(centralwidget);
menubar = new QMenuBar(MainWindow);
menubar->setObjectName(QString::fromUtf8("menubar"));
menubar->setGeometry(QRect(0, 0, 800, 23));
MainWindow->setMenuBar(menubar);
statusbar = new QStatusBar(MainWindow);
statusbar->setObjectName(QString::fromUtf8("statusbar"));
MainWindow->setStatusBar(statusbar);
retranslateUi(MainWindow);
QMetaObject::connectSlotsByName(MainWindow);
} // setupUi
void retranslateUi(QMainWindow *MainWindow)
{
MainWindow->setWindowTitle(QCoreApplication::translate("MainWindow", "MainWindow", nullptr));
label->setText(QCoreApplication::translate("MainWindow", "TextLabel", nullptr));
pushButton->setText(QCoreApplication::translate("MainWindow", "PushButton", nullptr));
pushButton_2->setText(QCoreApplication::translate("MainWindow", "PushButton", nullptr));
pushButton_3->setText(QCoreApplication::translate("MainWindow", "PushButton", nullptr));
pushButton_4->setText(QCoreApplication::translate("MainWindow", "PushButton", nullptr));
pushButton_5->setText(QCoreApplication::translate("MainWindow", "PushButton", nullptr));
pushButton_6->setText(QCoreApplication::translate("MainWindow", "PushButton", nullptr));
lab_time->setText(QString());
label_2->setText(QString());
label_3->setText(QCoreApplication::translate("MainWindow", ":", nullptr));
label_4->setText(QCoreApplication::translate("MainWindow", ":", nullptr));
} // retranslateUi
};
namespace Ui {
class MainWindow: public Ui_MainWindow {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_MAINWINDOW_H
/*
* 封装发送类
*/
#ifndef VEHINFO_H
#define VEHINFO_H
#include <iostream>
#include <vector>
#include <QQueue>
using namespace std;
#pragma pack(1)
struct VehInfor
{
string weightNum;
string plateNum;
int axleCnt;
float sumWeight;
float tareWeight;
float grossWeight;
float suttleWeight;
int reduceWeightPer;
float realWeight;
float limitWeight;
float overWeight;
float overPer;
string goodsName;
string goodsType;
string driver;
string sendCompany;
string recvCompany;
string trafficCompany;
string remark;
int lane;
int speed;
int length;
int width;
int height;
string picPath;
string dateTime;
string createTime;
string weightTime;
string printerTime;
string interTime;//入口时间,格式yyyy-MM-dd HH:mm:ss
string outTime;//入口时间,格式yyyy-MM-dd HH:mm:ss
string platePic; //车牌特写图,base64编码
string platePicPostfix = "jpg";//图片后缀,默认jpg
string frontPic;//前抓拍,base64编码
string frontPicPostfix = "jpg";//图片后缀,默认jpg
string key = "123456";
};
struct SelectInfor
{
int ECode;
string Operator;
string startTime;
string Pound;
string stopTime;
string Weight;
string Type;
string Time;
string RealCache;
string GoodsType;
string Customer;
string Notes;
string remark;
};
struct SelectInfor1
{
string startTime;
string stopTime;
string plateNum;
float startWeight;
float stopWeight;
string remark;
};
typedef struct TSversion
{
char szVersion[64];
char szDateTime[64];
char szDescription[128];
}TSVERSION;
struct Vehicle{
int lane;
long flowNo;
char dateTime[50];
unsigned char runState;
unsigned char deviceState;
double speed;
double acceleration;
int reverse;//0 正向,1 逆向
int axleCnt;
int axleGrpCnt;
string axleWeight;
string axleGrpWeight;
string axleDis;
string axleCrpType;
long sumWeight;
int length;
char timeFlowNo[64];
};
struct VehicleCam
{
string plateNum;
string picPath;
string deviceId;
void* picContent;
long picLen;
};
struct CameraInfor
{
string ip;
int port;
string user;
string pwd;
int lane;
int direction;
string deviceId;
};
struct screenArea
{
int areaId;
int x;
int y;
int w;
int h;
int fontSize;
};
struct User
{
string userName;
string pwd;
string sex;
string mobile;
string remark;
bool isRemeber;
};
struct SendWeightForm
{
string userName = "admin"; //过磅员
string poundNo = "001"; //磅号
string key = "123456";
string stationCode; //站点编号
string plateNum; //车牌号
string checkNo;
string stationId;
int patternType = 2; //业务模式: 1-标准流程一 2-标准流程二
int modeDisplayType = 2; //业务详情显示: 1-标准流程一显示出入口信息 2-标准流程二不显示出入口信息
int tareWeight;
int grossWeight;
int suttleWeight;
string dateTime;
//新增字段
int weighterNum;
int success; //注册成功
int exceptionCode; //异常代码
int vehicleType; //车型
int axleCnt; //轴数
int axleType; //轴型
float sumWeight; //车货总重,放大一百倍
int axleWeight1; //1轴重,放大一百倍
int axleWeight2; //2轴重,放大一百倍
int axleWeight3; //3轴重,放大一百倍
int axleWeight4; //4轴重,放大一百倍
int axleWeight5; //5轴重,放大一百倍
int axleWeight6; //6轴重,放大一百倍
int axleWeight7; //7轴重,放大一百倍
int axleWeight8; //8轴重,放大一百倍
int limitWeight; //限重,放大一百倍
int overWeight; //超重,放大一百倍
string weightTime; //称重时间,格式yyyy-MM-dd HH:mm:ss
string interTime; //入口时间,格式yyyy-MM-dd HH:mm:ss
string outTime; //入口时间,格式yyyy-MM-dd HH:mm:ss
string platePic; //车牌特写图,base64编码
string platePicPostfix = "jpg"; //图片后缀,默认jpg
string frontPic; //前抓拍,base64编码
string frontPicPostfix = "jpg"; //图片后缀,默认jpg
string backPic; //后抓拍,base64编码
string backPicPostfix = "jpg"; //图片后缀,默认jpg
string lSidePic; //左侧侧抓拍,base64编码
string lsidePicPostfix = "jpg"; //图片后缀,默认jpg
string rSidePic; //右侧侧抓拍,base64编码
string rsidePicPostfix = "jpg"; //图片后缀,默认jpg
string upPic; //顶抓拍,base64编码
string upPicPostfix = "jpg"; //图片后缀,默认jpg
string movie; //过车小视频,base64编码
string moviePostfix = "mp4"; //短视频后缀,默认mp4
string busNum; //订单业务流水号
string icNum; //订单业务流水号
};
struct PacketHeartBeat
{/*心跳包
上行指令 0x05: 心跳包
Json字段 数据类型 描述
ping String 值为1*/
string key = "123456";
string ping;
};
#pragma pack ()
#endif // VEHINFO_H
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论