2021-11-17 07:33:19 +00:00
|
|
|
|
#include "frmmain.h"
|
|
|
|
|
#include "ui_frmmain.h"
|
|
|
|
|
#include "iconhelper.h"
|
2024-03-08 02:41:45 +00:00
|
|
|
|
#include "qthelper.h"
|
2021-11-17 07:33:19 +00:00
|
|
|
|
|
|
|
|
|
frmMain::frmMain(QWidget *parent) : QDialog(parent), ui(new Ui::frmMain)
|
|
|
|
|
{
|
|
|
|
|
ui->setupUi(this);
|
|
|
|
|
this->initForm();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
frmMain::~frmMain()
|
|
|
|
|
{
|
|
|
|
|
delete ui;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool frmMain::eventFilter(QObject *watched, QEvent *event)
|
|
|
|
|
{
|
|
|
|
|
if (event->type() == QEvent::MouseButtonDblClick) {
|
|
|
|
|
if (watched == ui->widgetTitle) {
|
|
|
|
|
on_btnMenu_Max_clicked();
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return QWidget::eventFilter(watched, event);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void frmMain::initForm()
|
|
|
|
|
{
|
|
|
|
|
//设置无边框
|
2024-03-08 02:41:45 +00:00
|
|
|
|
QtHelper::setFramelessForm(this);
|
2021-11-17 07:33:19 +00:00
|
|
|
|
//设置图标
|
|
|
|
|
IconHelper::setIcon(ui->labIco, 0xf099, 35);
|
|
|
|
|
IconHelper::setIcon(ui->btnMenu_Min, 0xf068);
|
|
|
|
|
IconHelper::setIcon(ui->btnMenu_Max, 0xf067);
|
|
|
|
|
IconHelper::setIcon(ui->btnMenu_Close, 0xf00d);
|
|
|
|
|
|
|
|
|
|
//ui->widgetMenu->setVisible(false);
|
|
|
|
|
ui->widgetTitle->installEventFilter(this);
|
|
|
|
|
ui->widgetTitle->setProperty("form", "title");
|
|
|
|
|
ui->widgetTop->setProperty("nav", "top");
|
2022-01-13 03:27:55 +00:00
|
|
|
|
|
|
|
|
|
QFont font;
|
|
|
|
|
font.setPixelSize(25);
|
|
|
|
|
ui->labTitle->setFont(font);
|
2021-11-17 07:33:19 +00:00
|
|
|
|
ui->labTitle->setText("智能访客管理平台");
|
|
|
|
|
this->setWindowTitle(ui->labTitle->text());
|
|
|
|
|
|
2022-01-13 03:27:55 +00:00
|
|
|
|
ui->stackedWidget->setStyleSheet("QLabel{font:60px;}");
|
2021-11-17 07:33:19 +00:00
|
|
|
|
|
|
|
|
|
//单独设置指示器大小
|
|
|
|
|
int addWidth = 20;
|
|
|
|
|
int addHeight = 10;
|
|
|
|
|
int rbtnWidth = 15;
|
|
|
|
|
int ckWidth = 13;
|
|
|
|
|
int scrWidth = 12;
|
|
|
|
|
int borderWidth = 3;
|
|
|
|
|
|
|
|
|
|
QStringList qss;
|
2022-01-13 03:27:55 +00:00
|
|
|
|
qss << QString("QComboBox::drop-down,QDateEdit::drop-down,QTimeEdit::drop-down,QDateTimeEdit::drop-down{width:%1px;}").arg(addWidth);
|
|
|
|
|
qss << QString("QComboBox::down-arrow,QDateEdit[calendarPopup=\"true\"]::down-arrow,QTimeEdit[calendarPopup=\"true\"]::down-arrow,"
|
|
|
|
|
"QDateTimeEdit[calendarPopup=\"true\"]::down-arrow{width:%1px;height:%1px;right:2px;}").arg(addHeight);
|
|
|
|
|
qss << QString("QRadioButton::indicator{width:%1px;height:%1px;}").arg(rbtnWidth);
|
|
|
|
|
qss << QString("QCheckBox::indicator,QGroupBox::indicator,QTreeWidget::indicator,QListWidget::indicator{width:%1px;height:%1px;}").arg(ckWidth);
|
|
|
|
|
qss << QString("QScrollBar:horizontal{min-height:%1px;border-radius:%2px;}QScrollBar::handle:horizontal{border-radius:%2px;}"
|
|
|
|
|
"QScrollBar:vertical{min-width:%1px;border-radius:%2px;}QScrollBar::handle:vertical{border-radius:%2px;}").arg(scrWidth).arg(scrWidth / 2);
|
|
|
|
|
qss << QString("QWidget#widget_top>QToolButton:pressed,QWidget#widget_top>QToolButton:hover,"
|
|
|
|
|
"QWidget#widget_top>QToolButton:checked,QWidget#widget_top>QLabel:hover{"
|
|
|
|
|
"border-width:0px 0px %1px 0px;}").arg(borderWidth);
|
|
|
|
|
qss << QString("QWidget#widgetleft>QPushButton:checked,QWidget#widgetleft>QToolButton:checked,"
|
|
|
|
|
"QWidget#widgetleft>QPushButton:pressed,QWidget#widgetleft>QToolButton:pressed{"
|
|
|
|
|
"border-width:0px 0px 0px %1px;}").arg(borderWidth);
|
2021-11-17 07:33:19 +00:00
|
|
|
|
this->setStyleSheet(qss.join(""));
|
|
|
|
|
|
|
|
|
|
QSize icoSize(32, 32);
|
|
|
|
|
int icoWidth = 85;
|
|
|
|
|
|
|
|
|
|
//设置顶部导航按钮
|
|
|
|
|
QList<QToolButton *> tbtns = ui->widgetTop->findChildren<QToolButton *>();
|
|
|
|
|
foreach (QToolButton *btn, tbtns) {
|
|
|
|
|
btn->setIconSize(icoSize);
|
|
|
|
|
btn->setMinimumWidth(icoWidth);
|
|
|
|
|
btn->setCheckable(true);
|
|
|
|
|
connect(btn, SIGNAL(clicked()), this, SLOT(buttonClick()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ui->btnMain->click();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void frmMain::buttonClick()
|
|
|
|
|
{
|
|
|
|
|
QToolButton *b = (QToolButton *)sender();
|
|
|
|
|
QString name = b->text();
|
|
|
|
|
|
|
|
|
|
QList<QToolButton *> tbtns = ui->widgetTop->findChildren<QToolButton *>();
|
|
|
|
|
foreach (QToolButton *btn, tbtns) {
|
|
|
|
|
btn->setChecked(btn == b);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (name == "主界面") {
|
|
|
|
|
ui->stackedWidget->setCurrentIndex(0);
|
|
|
|
|
} else if (name == "系统设置") {
|
|
|
|
|
ui->stackedWidget->setCurrentIndex(1);
|
|
|
|
|
} else if (name == "警情查询") {
|
|
|
|
|
ui->stackedWidget->setCurrentIndex(2);
|
|
|
|
|
} else if (name == "调试帮助") {
|
|
|
|
|
ui->stackedWidget->setCurrentIndex(3);
|
|
|
|
|
} else if (name == "用户退出") {
|
|
|
|
|
exit(0);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void frmMain::on_btnMenu_Min_clicked()
|
|
|
|
|
{
|
|
|
|
|
showMinimized();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void frmMain::on_btnMenu_Max_clicked()
|
|
|
|
|
{
|
|
|
|
|
static bool max = false;
|
|
|
|
|
static QRect location = this->geometry();
|
|
|
|
|
|
|
|
|
|
if (max) {
|
|
|
|
|
this->setGeometry(location);
|
|
|
|
|
} else {
|
|
|
|
|
location = this->geometry();
|
2024-03-08 02:41:45 +00:00
|
|
|
|
this->setGeometry(QtHelper::getScreenRect());
|
2021-11-17 07:33:19 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this->setProperty("canMove", max);
|
|
|
|
|
max = !max;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void frmMain::on_btnMenu_Close_clicked()
|
|
|
|
|
{
|
|
|
|
|
close();
|
|
|
|
|
}
|