Commit da10d978 authored by ym0408's avatar ym0408

7

parent b25211ae
This diff is collapsed.
#ifndef MULTIFUNCTIONDIALOG_H #ifndef MULTIFUNCTIONDIALOG_H
#define MULTIFUNCTIONDIALOG_H #define MULTIFUNCTIONDIALOG_H
#include <QCalendarWidget>
#include<QDebug>
#include <QPainter>
#include <QDate>
#include <QDialog> #include <QDialog>
#include <QLineEdit>
#include<QMessageBox>
#include <QLabel> // 解决 QLabel 未声明的问题 #include <QLabel> // 解决 QLabel 未声明的问题
#include <QPushButton> // 解决 QPushButton 不完整类型的问题 #include <QPushButton> // 解决 QPushButton 不完整类型的问题
#include <QListWidget> // 用到了 QListWidget #include <QListWidget> // 用到了 QListWidget
...@@ -19,10 +24,39 @@ enum DialogType { ...@@ -19,10 +24,39 @@ enum DialogType {
InspectionType, // 抽检项选择 InspectionType, // 抽检项选择
TimeRangeType // 时间范围选择 TimeRangeType // 时间范围选择
}; };
// 仅在头文件中定义一次RangeCalendar
class RangeCalendar : public QCalendarWidget
{
Q_OBJECT
public:
explicit RangeCalendar(QWidget *parent = nullptr)
: QCalendarWidget(parent), m_startDate(QDate()), m_endDate(QDate()) {}
void setDateRange(const QDate &start, const QDate &end) {
m_startDate = start;
m_endDate = end;
updateCells();
}
protected:
void paintCell(QPainter *painter, const QRect &rect, const QDate &date) const override {
// 1. 先绘制区间背景(在默认样式之前)
if (m_startDate.isValid() && m_endDate.isValid()) {
if (date > m_startDate && date < m_endDate) {
painter->save();
painter->fillRect(rect.adjusted(1, 1, -1, -1), QColor(220, 240, 250));
painter->restore();
}
}
// 2. 再绘制默认样式(包含文字)
QCalendarWidget::paintCell(painter, rect, date);
}
private:
QDate m_startDate;
QDate m_endDate;
};
namespace Ui {
class MultiFunctionDialog;
}
class MultiFunctionDialog : public QDialog class MultiFunctionDialog : public QDialog
{ {
...@@ -48,10 +82,15 @@ private: ...@@ -48,10 +82,15 @@ private:
DialogType m_dialogType; // 当前弹窗类型 DialogType m_dialogType; // 当前弹窗类型
QListWidget *m_listWidget; // 列表控件(工位/设备用) QListWidget *m_listWidget; // 列表控件(工位/设备用)
QButtonGroup *m_radioGroup; // 单选按钮组(抽检项用) QButtonGroup *m_radioGroup; // 单选按钮组(抽检项用)
QDateEdit *m_startDateEdit; // 开始日期编辑框(时间用) QDateEdit *m_startDateEdit=nullptr; // 开始日期编辑框(时间用)
QDateEdit *m_endDateEdit; // 结束日期编辑框(时间用) QDateEdit *m_endDateEdit=nullptr; // 结束日期编辑框(时间用)
QLineEdit *m_deviceEdit; // 设备输入框成员(原代码可能遗漏)
QDate m_firstSelectDate;
QString m_deviceName; // 设备名称存储变量
// bool m_enableCycleScroll = false; // bool m_enableCycleScroll = false;
Ui::MultiFunctionDialog *ui; // Ui::MultiFunctionDialog *ui;
}; };
......
USB.png

800 Bytes

USBconncet.png

612 Bytes

<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject> <!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.11.1, 2025-12-03T15:06:26. --> <!-- Written by QtCreator 4.11.1, 2025-12-04T14:46:12. -->
<qtcreator> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>
......
...@@ -7,9 +7,9 @@ carMachineDetectionWidget::carMachineDetectionWidget(QWidget *parent) ...@@ -7,9 +7,9 @@ carMachineDetectionWidget::carMachineDetectionWidget(QWidget *parent)
: QMainWindow(parent) : QMainWindow(parent)
, ui(new Ui::carMachineDetectionWidget) , ui(new Ui::carMachineDetectionWidget)
{ {
//setWindowFlags(windowFlags() & ~Qt::WindowFullscreenButtonHint);
//setMaximumSize(2000, 1200);
ui->setupUi(this); ui->setupUi(this);
setWindowFlags(Qt::FramelessWindowHint);
//初始状态 //初始状态
// ui->widget_search->hide(); // ui->widget_search->hide();
// ui->SoftControlwidget->hide(); // ui->SoftControlwidget->hide();
...@@ -23,8 +23,6 @@ carMachineDetectionWidget::~carMachineDetectionWidget() ...@@ -23,8 +23,6 @@ carMachineDetectionWidget::~carMachineDetectionWidget()
delete ui; delete ui;
} }
void carMachineDetectionWidget::on_pushButton_btnSoftwareControl_clicked() void carMachineDetectionWidget::on_pushButton_btnSoftwareControl_clicked()
{ {
ui->containerMain->hide(); ui->containerMain->hide();
...@@ -75,15 +73,37 @@ void carMachineDetectionWidget::on_pushButton_inspectionItemt_clicked() ...@@ -75,15 +73,37 @@ void carMachineDetectionWidget::on_pushButton_inspectionItemt_clicked()
void carMachineDetectionWidget::on_pushButton_chooseTime_clicked() void carMachineDetectionWidget::on_pushButton_chooseTime_clicked()
{ {
MultiFunctionDialog dialog(TimeRangeType, this); MultiFunctionDialog *dialog = new MultiFunctionDialog(TimeRangeType, this);
if (dialog.exec() == QDialog::Accepted) { if (dialog->exec() == QDialog::Accepted) {
QPair<QDate, QDate> timeRange = dialog.getTimeRangeResult(); QPair<QDate, QDate> timeRange = dialog->getTimeRangeResult();
QDate startDate = timeRange.first; QDate startDate = timeRange.first;
QDate endDate = timeRange.second; QDate endDate = timeRange.second;
if (startDate.isValid() && endDate.isValid()) { if (startDate.isValid() && endDate.isValid()) {
QMessageBox::information(this, "选择结果", QMessageBox::information(this, "选择结果",
QString("时间范围:%1 至 %2").arg(startDate.toString("yyyy-MM-dd")).arg(endDate.toString("yyyy-MM-dd"))); QString("时间范围:%1 至 %2")
// 业务逻辑:更新时间范围设置 .arg(startDate.toString("yyyy-MM-dd"))
.arg(endDate.toString("yyyy-MM-dd")));
} }
} }
delete dialog; // 手动销毁,避免内存泄漏
}
void carMachineDetectionWidget::onMinimizeButtonClicked()
{
}
void carMachineDetectionWidget::onCloseButtonClicked()
{
}
void carMachineDetectionWidget::on_pushButton_min_clicked()
{
this->showMinimized();
}
void carMachineDetectionWidget::on_pushButton_off_clicked()
{
this->close();
} }
...@@ -2,7 +2,11 @@ ...@@ -2,7 +2,11 @@
#define CARMACHINEDETECTIONWIDGET_H #define CARMACHINEDETECTIONWIDGET_H
#include <QMainWindow> #include <QMainWindow>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QApplication>
#include <QLabel>
#include <QPushButton>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
namespace Ui { class carMachineDetectionWidget; } namespace Ui { class carMachineDetectionWidget; }
QT_END_NAMESPACE QT_END_NAMESPACE
...@@ -30,7 +34,22 @@ private slots: ...@@ -30,7 +34,22 @@ private slots:
void on_pushButton_chooseTime_clicked(); void on_pushButton_chooseTime_clicked();
void onMinimizeButtonClicked();
void onCloseButtonClicked();
void on_pushButton_min_clicked();
void on_pushButton_off_clicked();
private: private:
QLabel *m_titleLabel;
QLabel *m_stationLabel;
QLabel *m_usbStatusLabel;
QLabel *m_signalIconLabel;
QLabel *m_networkStatusLabel;
QPushButton *m_minimizeButton;
QPushButton *m_closeButton;
Ui::carMachineDetectionWidget *ui; Ui::carMachineDetectionWidget *ui;
}; };
#endif // CARMACHINEDETECTIONWIDGET_H #endif // CARMACHINEDETECTIONWIDGET_H
This source diff could not be displayed because it is too large. You can view the blob instead.
min.png

259 Bytes

off.png

504 Bytes

...@@ -10,5 +10,11 @@ ...@@ -10,5 +10,11 @@
<file>carSeries.png</file> <file>carSeries.png</file>
<file>Default.png</file> <file>Default.png</file>
<file>choosetime.png</file> <file>choosetime.png</file>
<file>signal.png</file>
<file>signalconnect.png</file>
<file>USB.png</file>
<file>USBconncet.png</file>
<file>off.png</file>
<file>min.png</file>
</qresource> </qresource>
</RCC> </RCC>
signal.png

522 Bytes

Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment