/****************************************************************** Copyright © Deng Zhimao Co., Ltd. 1990-2021. All rights reserved. * @projectName 17_sqlite_example * @brief mainwindow.h * @author Deng Zhimao * @email 1252699831@qq.com * @net www.openedv.com * @date 2021-05-15 *******************************************************************/ #ifndef ALARM_H #define ALARM_H #include #include #include #include #include #include #include #include #include #include #include #include "numberpicker.h" #include "switchbutton.h" #include #include #include #include #include #include #include "tt.h" #include "ui_tt.h" class NumberPicker; class SwitchButton; class tt; /* ListWiget项结构体 */ struct ItemObjectInfo { /* 闹钟开关 */ SwitchButton *switchButton; /* Widget容器 */ QWidget *widget; /* 水平布局 */ QHBoxLayout *hBoxLayout; }; class Alarm : public QMainWindow { Q_OBJECT public: Alarm(QWidget *parent = nullptr); ~Alarm(); private: /* 媒体播放器,用于播放音乐 */ QMediaPlayer *musicPlayer; /* 数据库连接类 */ QSqlDatabase sqlDatabase; /* 数据库操作模型 */ QSqlTableModel *model; /* 时针选择器 */ NumberPicker *hourPicker; /* 分钟选择器 */ NumberPicker *minutePicker; /* 弹出选择时间对话框 */ QDialog *alarmDialog; QFrame *biasc_display; /* 水平布局 */ QHBoxLayout *hBoxLayout[3]; /* 垂直布局 */ QVBoxLayout *vBoxLayout[2]; /* 显示闹钟列表 */ QListWidget *listWidget; /* 主Widget */ QWidget *mainWidget; /* 底部Wiget */ QWidget *bottomWidget; /* 弹出对话框布局窗口选择时间容器 */ QWidget *timeWidget; /* 弹出对话框布局窗口按钮容器 */ QWidget *btWidget; /* 添加闹钟按钮 */ QPushButton *addAlarm; /* 确认按钮 */ QPushButton *yesButton; /* 取消按钮 */ QPushButton *cancelButton; /* listWiget项信息存储 */ QVector itemObjectInfo; /* 加载qss */ void loadStyle(); /* 控制闹钟 */ void control_alarm(); /*定时器*/ QTimer* timer; /* 铃声 */ void alarm_play(); /* 显示时间 */ QLabel *time_notice; tt *tui; private slots: /* 添加闹钟按钮被点击 */ void addAlarmClicked(); /* 列表被点击 */ void listWidgetItemClicked(QListWidgetItem *); /* 确认按钮被点击 */ void yesButtonClicked(); /* 取消按钮被点击 */ void cancelButtonClicked(); /* 开关按钮点击 */ void switchButtonClicked(bool); /* 关闭点击 */ void alarm_display(); }; #endif // MAINWINDOW_H