From 8129730d436b02c22aa9bafdced603247504921f Mon Sep 17 00:00:00 2001 From: Jokul Date: Sat, 8 Aug 2026 21:19:48 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=97=A0=20IP=20=E5=9C=B0=E5=9D=80?= =?UTF-8?q?=E6=97=B6=E6=8E=A5=E5=8F=A3=E5=90=8D=E4=BD=8D=E7=BD=AE=E4=B8=8E?= =?UTF-8?q?=E6=9C=89=20IP=20=E6=97=B6=E4=BF=9D=E6=8C=81=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 去掉接口信息区外层 Item 包装和 anchors.centerIn,直接用 ColumnLayout 内容自然撑高、顶部对齐。无论有无 IP 地址,接口名行始终在顶部同一 垂直位置,切换网卡时不再跳动 --- package/components/NetworkPopup.qml | 49 +++++++++++++---------------- 1 file changed, 21 insertions(+), 28 deletions(-) diff --git a/package/components/NetworkPopup.qml b/package/components/NetworkPopup.qml index d565d53..9dea186 100644 --- a/package/components/NetworkPopup.qml +++ b/package/components/NetworkPopup.qml @@ -134,40 +134,34 @@ Control { // ==================== 分区1:接口信息 ==================== // 三行对称结构:行1 接口名(居中),行2 IPv4 地址行,行3 IPv6 地址行 // 地址行用固定宽度标签 + 地址 + 复制图标,两行结构对称不会错位 - // 外层 Item 固定高度 + 内层 ColumnLayout anchors.centerIn: - // 无 IP 地址时内容在区域内垂直居中,避免单行内容贴顶导致网卡名偏上 - Item { + // 直接用 ColumnLayout 内容自然撑高、顶部对齐: + // 无论有无 IP 地址,接口名行始终在顶部同一垂直位置,切换网卡不跳动 + ColumnLayout { + id: ifaceCol Layout.fillWidth: true - // preferredHeight 40 为无 IP 时的最小高度;有 IP/IPv6 时内容自然撑高 - Layout.preferredHeight: Math.max(40, ifaceCol.implicitHeight) + spacing: 4 visible: popup.ready - ColumnLayout { - id: ifaceCol - anchors.centerIn: parent - width: parent.width + // 行1:类型图标 + 接口名(居中) + RowLayout { + Layout.alignment: Qt.AlignHCenter spacing: 4 - // 行1:类型图标 + 接口名(居中) - RowLayout { - Layout.alignment: Qt.AlignHCenter - spacing: 4 - - // 网卡类型图标:与设置窗口列表图标一致,次要色不抢速度区焦点 - Text { - text: common.interfaceIcon(popup.activeInterface) - font.pixelSize: Math.round(12 * popup.fontScale) - color: popup.tertiaryText - } - - // 接口名:跟随用户 textColor(primaryText),Spec 5.1 节要求 - Text { - text: popup.activeInterface - font.pixelSize: Math.round(13 * popup.fontScale) - color: popup.primaryText - } + // 网卡类型图标:与设置窗口列表图标一致,次要色不抢速度区焦点 + Text { + text: common.interfaceIcon(popup.activeInterface) + font.pixelSize: Math.round(12 * popup.fontScale) + color: popup.tertiaryText } + // 接口名:跟随用户 textColor(primaryText),Spec 5.1 节要求 + Text { + text: popup.activeInterface + font.pixelSize: Math.round(13 * popup.fontScale) + color: popup.primaryText + } + } + // 行2:IPv4 标签 + 地址 + 复制图标 // 与行3 结构对称:标签固定宽度左对齐,地址左对齐,复制图标在右 RowLayout { @@ -289,7 +283,6 @@ Control { } } } - } } // 分隔线1