更新点击图片适配功能

This commit is contained in:
杨胜毅 2024-10-01 15:56:39 +08:00
parent b19f1351ca
commit 070496a684
2 changed files with 42 additions and 5 deletions

View File

@ -114,6 +114,7 @@ void GrubThemeWidget::initAithemeBar()
QSpacerItem *spacer = new QSpacerItem(15, 0, QSizePolicy::Fixed, QSizePolicy::Minimum);
m_grubthemelayout->addItem(spacer);
m_grubthemelayout->addWidget(m_aithemebar);
connect(m_aithemebar, &aithemebar::imageClicked, this, &GrubThemeWidget::updateAIImage);
}
@ -273,12 +274,44 @@ void GrubThemeWidget::refresh()
m_showBtn->setIconSize(QSize(178,122));
}
void GrubThemeWidget::updateAIImage()
// void GrubThemeWidget::updateAIImage(const QPixmap &pixmap)
// {
// m_preview->updateBackground(resourceGrubPath);
// QPixmap pixmap(resourceGrubPath);
// m_showBtn->setIcon(QIcon(pixmap));
// m_showBtn->setIconSize(QSize(178,122));
// }
void GrubThemeWidget::updateAIImage(const QPixmap &pixmap)
{
m_preview->updateBackground(resourceGrubPath);
QPixmap pixmap(resourceGrubPath);
// 生成唯一的临时文件路径
QString tempPath = QString("/tmp/temp_image_%1.png").arg(QUuid::createUuid().toString(QUuid::WithoutBraces));
// 将 QPixmap 保存到临时文件
pixmap.save(tempPath);
// 将临时文件路径添加到列表中
tempFilePaths.append(tempPath);
// 更新预览窗口的背景图片
m_preview->updateBackground(tempPath);
// 将 QPixmap 设置为按钮的图标
m_showBtn->setIcon(QIcon(pixmap));
m_showBtn->setIconSize(QSize(178,122));
// 设置按钮图标的大小
m_showBtn->setIconSize(QSize(178, 122));
}
void GrubThemeWidget::clearTempFiles()
{
// 删除所有临时文件
for (const QString &filePath : tempFilePaths) {
QFile::remove(filePath);
}
// 清空临时文件路径列表
tempFilePaths.clear();
}
void GrubThemeWidget::useMaximumScale()

View File

@ -47,9 +47,11 @@ public:
static bool g_themeChange;
void eidtInitWidget(const HistoryInfo &InfoData);
void refresh();
void updateAIImage();
void updateAIImage(const QPixmap &pixmap);
// void updateAIImage();
void useMaximumScale();
void useRestoreScale();
void clearTempFiles();
void setBuildBtnText(bool isglobal);
signals:
void newGrubFilePath(const QString& path);
@ -66,6 +68,8 @@ private:
QVBoxLayout *m_previewlayout;
GrubEditButton *m_showBtn;
QPushButton *m_buildButton;
// 声明并初始化 tempFilePaths 列表
QList<QString> tempFilePaths;
};
#endif // GRUBTHEMEWIDGET_H