Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
柴进
/
GoogleNanoBananaApp
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
e554cf55
authored
2026-02-28 12:32:18 +0800
by
柴进
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
处理mac打包后粘贴图片缩略图不可见的问题
1 parent
dd2274bf
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
32 additions
and
5 deletions
image_generator.py
image_generator.py
View file @
e554cf5
...
...
@@ -2047,6 +2047,34 @@ class ImageGeneratorWindow(QMainWindow):
"""从剪贴板粘贴图像"""
try
:
self
.
logger
.
info
(
"开始粘贴剪贴板图片"
)
clipboard
=
QApplication
.
clipboard
()
mime_data
=
clipboard
.
mimeData
()
# 优先处理文件URL(如 Finder 中复制的图片文件)
if
mime_data
and
mime_data
.
hasUrls
():
image_files
=
[]
for
url
in
mime_data
.
urls
():
if
url
.
isLocalFile
():
file_path
=
url
.
toLocalFile
()
self
.
logger
.
info
(
f
"剪贴板包含文件: {file_path}"
)
if
Path
(
file_path
)
.
suffix
.
lower
()
in
{
'.png'
,
'.jpg'
,
'.jpeg'
,
'.gif'
,
'.bmp'
,
'.webp'
}:
image_files
.
append
(
file_path
)
if
image_files
:
self
.
logger
.
info
(
f
"从剪贴板文件URL添加 {len(image_files)} 张图片"
)
added
=
0
for
fp
in
image_files
:
if
self
.
validate_image_file
(
fp
):
self
.
uploaded_images
.
append
(
fp
)
added
+=
1
if
added
>
0
:
self
.
update_image_preview
()
self
.
image_count_label
.
setText
(
f
"已选择 {len(self.uploaded_images)} 张"
)
self
.
status_label
.
setText
(
f
"● 已粘贴 {added} 张图片"
)
self
.
status_label
.
setStyleSheet
(
"QLabel { color: #34C759; }"
)
return
# 没有文件URL,尝试获取剪贴板中的图像数据(如截图、从应用复制的图片)
image
=
self
.
_safe_get_clipboard_image
()
if
image
is
None
:
...
...
@@ -2054,7 +2082,7 @@ class ImageGeneratorWindow(QMainWindow):
QMessageBox
.
information
(
self
,
"信息"
,
"剪贴板中没有图片,请先复制一张图片"
)
return
self
.
logger
.
info
(
f
"成功获取剪贴板图像: {image.width()}x{image.height()}"
)
self
.
logger
.
info
(
f
"成功获取剪贴板图像
数据
: {image.width()}x{image.height()}"
)
# 保存到临时文件
timestamp
=
datetime
.
now
()
.
strftime
(
"
%
Y
%
m
%
d_
%
H
%
M
%
S_
%
f"
)
...
...
@@ -2070,8 +2098,6 @@ class ImageGeneratorWindow(QMainWindow):
return
self
.
logger
.
info
(
f
"剪贴板图片已保存: {temp_file_path}"
)
# 走和"添加图片"按钮完全相同的路径
self
.
uploaded_images
.
append
(
temp_file_path
)
self
.
update_image_preview
()
self
.
image_count_label
.
setText
(
f
"已选择 {len(self.uploaded_images)} 张"
)
...
...
@@ -2222,9 +2248,10 @@ class ImageGeneratorWindow(QMainWindow):
self
.
logger
.
error
(
f
"创建缩略图失败: {file_path}, 错误: {str(e)}"
,
exc_info
=
True
)
# 强制刷新布局和滚动区域
self
.
img_container
.
adjustSize
()
self
.
img_layout
.
activate
()
self
.
img_scroll
.
update
()
self
.
img_container
.
adjustSize
()
self
.
img_container
.
repaint
()
self
.
img_scroll
.
viewport
()
.
repaint
()
# === 诊断日志:排查缩略图不可见问题 ===
self
.
logger
.
info
(
f
"[诊断] img_layout.count = {self.img_layout.count()}"
)
...
...
Please
register
or
sign in
to post a comment