feat: 调整备注,变为多行显示

This commit is contained in:
zhu-mengmeng 2025-07-19 12:22:21 +08:00
parent c40698c58b
commit ba40f97ab6
3 changed files with 44 additions and 14 deletions

Binary file not shown.

View File

@ -253,6 +253,8 @@ class MainWindowUI(QMainWindow):
self.material_content_layout = QVBoxLayout(self.material_content)
self.material_content_layout.setContentsMargins(10, 10, 10, 10)
# 移除滚动区域,直接使用表格
# 创建订单号输入框
self.order_info_layout = QHBoxLayout()
self.order_no_label = QLabel("订单号:")
@ -287,7 +289,9 @@ class MainWindowUI(QMainWindow):
# 创建信息表格 - 使用QTableWidget实现
self.info_table = QTableWidget()
self.info_table.setRowCount(9) # 8行常规字段 + 1行备注
# 计算需要的行数19个字段每行2个字段最后两行是备注跨列
# 前18个字段需要9行备注占用2行总共11行
self.info_table.setRowCount(11) # 9行常规字段 + 2行备注
self.info_table.setColumnCount(4) # 4列标签1, 值1, 标签2, 值2
self.info_table.setShowGrid(True) # 显示网格线
self.info_table.horizontalHeader().setVisible(False) # 隐藏水平表头
@ -326,11 +330,11 @@ class MainWindowUI(QMainWindow):
value = QTextEdit("")
value.setFont(self.normal_font)
value.setStyleSheet("background-color: white; padding: 5px; border: 1px solid #cccccc;")
value.setFixedHeight(35)
value.setFixedHeight(70) # 增加高度为两行
value.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
value.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
value.setFrameStyle(QFrame.NoFrame)
value.setLineWrapMode(QTextEdit.NoWrap)
value.setLineWrapMode(QTextEdit.WidgetWidth) # 允许自动换行
value.setContentsMargins(0, 0, 0, 0)
value.setAcceptRichText(False)
value.setTabChangesFocus(True)
@ -339,10 +343,11 @@ class MainWindowUI(QMainWindow):
self.info_labels["备注"] = label
self.info_values["备注"] = value
# 添加到表格
# 添加到表格,占用两行
self.info_table.setCellWidget(row, 0, label)
self.info_table.setCellWidget(row, 1, value)
self.info_table.setSpan(row, 1, 1, 3) # 值跨越3列
self.info_table.setSpan(row, 0, 2, 1) # 标签跨越2行1列
self.info_table.setSpan(row, 1, 2, 3) # 值跨越2行3列
else:
# 创建标签
label = QLabel(field_name)
@ -411,16 +416,21 @@ class MainWindowUI(QMainWindow):
# 设置行高
for i in range(self.info_table.rowCount()):
self.info_table.setRowHeight(i, 35) # 普通行高度调高
if i == 9: # 备注行第10行索引为9
self.info_table.setRowHeight(i, 35) # 备注行第一行高度
self.info_table.setRowHeight(i + 1, 35) # 备注行第二行高度
break
else:
self.info_table.setRowHeight(i, 35) # 普通行高度
# 设置表格自适应
self.info_table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) # 列宽自适应
# 设置表格自适应宽度
self.info_table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
# 设置表格填充整个容器
self.info_table.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
# 添加表格到主布局
# 直接添加表格到主布局
self.material_content_layout.addWidget(self.info_table)
self.material_layout.addWidget(self.material_content)

View File

@ -232,8 +232,11 @@ class OrderQueryDialogUI(QDialog):
# 启用水平滚动条
self.result_table.setHorizontalScrollBarPolicy(Qt.ScrollBarAsNeeded)
# 设置表头自适应宽度
header.setSectionResizeMode(QHeaderView.Interactive)
# 设置表头固定宽度模式,确保所有列都能显示
header.setSectionResizeMode(QHeaderView.Fixed)
# 设置表格最小宽度,确保有足够空间显示滚动条
self.result_table.setMinimumWidth(800)
# 设置默认列宽 - 常用列宽一些,不常用列窄一些
self.result_table.setColumnWidth(0, 60) # 序号
@ -241,7 +244,7 @@ class OrderQueryDialogUI(QDialog):
self.result_table.setColumnWidth(2, 120) # 订单号
self.result_table.setColumnWidth(3, 120) # 订单明细
self.result_table.setColumnWidth(4, 120) # 客户
self.result_table.setColumnWidth(5, 120) # 客户实际订单号
self.result_table.setColumnWidth(5, 120) # 客户订单号
self.result_table.setColumnWidth(6, 100) # 订单类别
self.result_table.setColumnWidth(7, 100) # 客户交期
self.result_table.setColumnWidth(8, 100) # 编码
@ -254,8 +257,25 @@ class OrderQueryDialogUI(QDialog):
self.result_table.setColumnWidth(15, 100) # 轴型
self.result_table.setColumnWidth(16, 80) # 轴型code
self.result_table.setColumnWidth(17, 80) # 轴型重量
# 其他列使用默认宽度
self.result_table.setColumnWidth(18, 100) # 标签类别
self.result_table.setColumnWidth(19, 100) # 标签类别code
self.result_table.setColumnWidth(20, 100) # 打印材质
self.result_table.setColumnWidth(21, 100) # 炉号
self.result_table.setColumnWidth(22, 80) # 公司
self.result_table.setColumnWidth(23, 80) # 数量
self.result_table.setColumnWidth(24, 80) # 上公差
self.result_table.setColumnWidth(25, 80) # 下公差
self.result_table.setColumnWidth(26, 80) # 延伸率
self.result_table.setColumnWidth(27, 80) # 屈服强度
self.result_table.setColumnWidth(28, 80) # 英制规格
self.result_table.setColumnWidth(29, 80) # 强度上限
self.result_table.setColumnWidth(30, 80) # 强度下限
self.result_table.setColumnWidth(31, 100) # 包装方式
self.result_table.setColumnWidth(32, 120) # 订单要求
self.result_table.setColumnWidth(33, 150) # 备注
self.result_table.setColumnWidth(34, 100) # 包装强度上限
self.result_table.setColumnWidth(35, 100) # 包装强度下限
self.result_table.setColumnWidth(36, 100) # 轴重要求
# 设置表格可以选择整行
self.result_table.setSelectionBehavior(QTableWidget.SelectRows)