在现有Qt程序中实现可配置日志保存天数的代码示例,分为界面修改、配置存储和核心逻辑三部分:
// 1. 在配置文件(如settings.h)中添加保存天数的配置项
class Settings {
public:
int logRetentionDays() const {
return m_settings.value("Log/RetentionDays", 30).toInt(); // 默认30天
}
void setLogRetentionDays(int days) {
m_settings.setValue("Log/RetentionDays", days);
}
private:
QSettings m_settings;
};
// 2. 在界面类头文件中添加控件声明(MainWindow.h)
class MainWindow : public QMainWindow {
Q_OBJECT
public:
// ... 原有声明
private slots:
void onRetentionDaysChanged(int index);
void checkLogCleanup();
private:
QComboBox *m_retentionCombo;
QTimer *m_cleanupTimer;
Settings m_settings;
};
// 3. 界面初始化(MainWindow.cpp)
MainWindow::MainWindow(QWidget *