Heater: force output off in overtemp region (err<0); Kp 4->10

This commit is contained in:
2026-10-10 14:14:09 +08:00
parent 12ba9de05f
commit 974a077e29
4 changed files with 39 additions and 24 deletions
+18 -11
View File
@@ -60,7 +60,7 @@ import config
import filmforge_rs485 as ff
APP_NAME = "FilmForge"
APP_VERSION = "0.2.5"
APP_VERSION = "0.2.6"
REPO_URL = "https://gitea.hulk.wang/hulk/FilmForge"
MONO = QFont("Consolas", 10)
CHIP_IDLE = "#666666"
@@ -470,27 +470,34 @@ class App(QMainWindow):
header.addWidget(self._button("关于", self._about))
outer.addLayout(header)
split = QSplitter(Qt.Horizontal, root)
# 双列放进同一滚动容器: 两列高度锁定一致——不足一屏时各自拉伸到底边,
# 超出一屏时整页一起滚动; 各列独立滚动会让底边在窗口化下错位(实测)
split = QSplitter(Qt.Horizontal)
split.setChildrenCollapsible(False)
split.addWidget(self._scroll_column(self._build_left))
split.addWidget(self._scroll_column(self._build_right))
split.addWidget(self._column_host(self._build_left))
split.addWidget(self._column_host(self._build_right))
split.setStretchFactor(0, 3)
split.setStretchFactor(1, 2)
outer.addWidget(split, 1)
page = QWidget()
page_lay = QHBoxLayout(page)
page_lay.setContentsMargins(0, 0, 0, 0)
page_lay.addWidget(split)
scroll = QScrollArea()
scroll.setWidgetResizable(True)
scroll.setFrameShape(QScrollArea.NoFrame)
scroll.setWidget(page)
outer.addWidget(scroll, 1)
self.setCentralWidget(root)
def _scroll_column(self, builder):
def _column_host(self, builder):
"""构建一列的宿主 QWidget(不再各自包 QScrollArea, 整页统一滚动)"""
host = QWidget()
layout = QVBoxLayout(host)
layout.setContentsMargins(2, 2, 8, 2)
layout.setSpacing(10)
builder(layout)
layout.addStretch(1)
scroll = QScrollArea()
scroll.setWidgetResizable(True)
scroll.setFrameShape(QScrollArea.NoFrame)
scroll.setWidget(host)
return scroll
return host
# ---------------- 左列: 串口 + 监视 ----------------
def _build_serial_card(self, layout):