修复小窗全屏与填充窗口。

This commit is contained in:
2025-10-15 13:38:23 +08:00
parent 6d24c5b0f1
commit f723e26548
+23 -10
View File
@@ -673,7 +673,7 @@ public:
ImageWidgetList.push_back(ImageView);
map.insert({ windowName,ImageView });
ImageView->setTitle(windowName);
if (xPos == -1 || yPos == -1){
if (xPos < 0 || yPos < 0){
Layout->addWidget(ImageView);
}
else {
@@ -727,18 +727,31 @@ public:
for (int col = 0; col < vec[row].size(); col++) {
if (vec[row][col] == nullptr) {
if (col > 0) {
if (vec[row - 1][col] != nullptr) {
vec[row - 1][col]->originalRowSpan++;
Layout->removeWidget(vec[row - 1][col]);
Layout->addWidget(vec[row - 1][col],
vec[row - 1][col]->originalRow,
vec[row - 1][col]->originalColumn,
vec[row - 1][col]->originalRowSpan,
vec[row - 1][col]->originalColumnSpan);
if (vec[row][col - 1] != nullptr) {
vec[row][col - 1]->originalColumnSpan++;
Layout->removeWidget(vec[row][col - 1]);
Layout->addWidget(vec[row][col - 1],
vec[row][col - 1]->originalRow,
vec[row][col - 1]->originalColumn,
vec[row][col - 1]->originalRowSpan,
vec[row][col - 1]->originalColumnSpan);
vec[row][col] = vec[row][col - 1];
}
}
else {
else if (col < vec[row].size() - 1) {
if (vec[row][col + 1] != nullptr) {
vec[row][col + 1]->originalRow--;
vec[row][col + 1]->originalColumnSpan++;
Layout->removeWidget(vec[row][col + 1]);
Layout->addWidget(vec[row][col + 1],
vec[row][col + 1]->originalRow,
vec[row][col + 1]->originalColumn,
vec[row][col + 1]->originalRowSpan,
vec[row][col + 1]->originalColumnSpan);
vec[row][col] = vec[row][col + 1];
}
}
}
}