From 0334bcf9a61d43e183c72b57a856368bfb94d8fc Mon Sep 17 00:00:00 2001 From: gongheng Date: Fri, 30 Oct 2026 04:39:29 +0800 Subject: [PATCH] fix: resolve content area spacing and alignment issues MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. Root cause: layout chain sets zero margins (setContentsMargins(0,0,0,0)) at CentralDocPage, leaving no gap between titlebar and content area; SheetBrowser lacks explicit alignment, causing horizontal asymmetry 2. Fix: set top margin to 10px in CentralDocPage layout and add setAlignment(Qt::AlignHCenter | Qt::AlignTop) in SheetBrowser 3. Impact: only UI layout parameters changed, no function signatures or core rendering logic affected Log: fix content area zero vertical gap with titlebar and horizontal misalignment Influence: 1. Test PDF opening with different page sizes for correct spacing and centering 2. Test window resize to verify alignment persists 3. Test multi-page navigation to ensure layout consistency fix: 修复内容区间距缺失和水平未居中问题 1. 根因:布局链中 CentralDocPage 设置零边距(setContentsMargins(0,0,0,0)), 标题栏与内容区之间无垂直间距;SheetBrowser 未设置对齐方式,内容区 在视口中水平未居中 2. 方案:CentralDocPage 布局上边距设为 10px,SheetBrowser 构造函数中 添加 setAlignment(Qt::AlignHCenter | Qt::AlignTop) 确保水平居中 3. 影响:仅修改 UI 布局参数,不涉及函数签名或核心渲染逻辑 Log: 修复内容区与标题栏零间距及水平未居中问题 Influence: 1. 测试不同页面尺寸的 PDF 打开后的间距和居中效果 2. 测试窗口缩放后对齐是否保持 3. 测试多页翻页后布局一致性 PMS: BUG-193233 --- reader/browser/SheetBrowser.cpp | 1 + reader/uiframe/CentralDocPage.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/reader/browser/SheetBrowser.cpp b/reader/browser/SheetBrowser.cpp index 3677d4f3..020b7a80 100644 --- a/reader/browser/SheetBrowser.cpp +++ b/reader/browser/SheetBrowser.cpp @@ -62,6 +62,7 @@ SheetBrowser::SheetBrowser(DocSheet *parent) : DGraphicsView(parent), m_sheet(pa // qCDebug(appLog) << "Graphics scene created"; setFrameShape(QFrame::NoFrame); + setAlignment(Qt::AlignHCenter | Qt::AlignTop); scene()->setItemIndexMethod(QGraphicsScene::NoIndex); // 禁用场景索引(对于静态场景更高效) diff --git a/reader/uiframe/CentralDocPage.cpp b/reader/uiframe/CentralDocPage.cpp index 94dc67f6..bbb4c6b6 100644 --- a/reader/uiframe/CentralDocPage.cpp +++ b/reader/uiframe/CentralDocPage.cpp @@ -107,7 +107,7 @@ CentralDocPage::CentralDocPage(DWidget *parent) m_mainLayout->addWidget(m_tabBar); m_mainLayout->addItem(m_stackedLayout); - m_mainLayout->setContentsMargins(0, 0, 0, 0); + m_mainLayout->setContentsMargins(0, 10, 0, 0); m_mainLayout->setSpacing(0); this->setLayout(m_mainLayout);