固定表头
This commit is contained in:
parent
bacd7e84ab
commit
acb8e2f854
@ -6,7 +6,8 @@
|
||||
"enable_serial_ports": false,
|
||||
"enable_keyboard_listener": false,
|
||||
"enable_camera": false
|
||||
}
|
||||
},
|
||||
"base_url":"http://192.168.0.133:8080"
|
||||
},
|
||||
"database": {
|
||||
"default": "sqlite",
|
||||
@ -68,5 +69,7 @@
|
||||
"stop_bits": 1,
|
||||
"timeout": 1
|
||||
}
|
||||
},"apis":{
|
||||
"tpda":"/apjt/xcsc/tpda/list"
|
||||
}
|
||||
}
|
||||
@ -501,28 +501,37 @@ class MainWindowUI(QMainWindow):
|
||||
self.record_layout.addWidget(self.record_title)
|
||||
|
||||
# 创建表格
|
||||
self.record_table = QTableWidget(14, 9) # 14行9列:序号、订单、品名、规格、托号、轴包装号、重量、净重、完成时间
|
||||
self.record_table = QTableWidget(13, 9) # 13行9列:序号、订单、品名、规格、托号、轴包装号、重量、净重、完成时间
|
||||
|
||||
# 应用通用表格设置
|
||||
self.setup_table_common(self.record_table)
|
||||
# 应用通用表格设置但保留表头
|
||||
self.setup_table_common(self.record_table, hide_headers=False)
|
||||
|
||||
# 设置列标题
|
||||
record_headers = ["序号", "订单", "品名", "规格", "托号", "轴包装号", "毛重", "净重", "完成时间"]
|
||||
for col, header in enumerate(record_headers):
|
||||
self.record_table.setItem(0, col, self.create_header_item(header))
|
||||
self.record_table.setHorizontalHeaderLabels(record_headers)
|
||||
|
||||
# 设置表头样式
|
||||
self.record_table.horizontalHeader().setStyleSheet("""
|
||||
QHeaderView::section {
|
||||
background-color: #f8f8f8;
|
||||
padding: 4px;
|
||||
border: 1px solid #dddddd;
|
||||
font-weight: bold;
|
||||
}
|
||||
""")
|
||||
|
||||
# 设置行高
|
||||
self.record_table.setRowHeight(0, 35) # 列标题行高
|
||||
self.record_table.setRowHeight(13, 35) # 合计行高
|
||||
self.record_table.setRowHeight(12, 35) # 合计行高
|
||||
|
||||
# 设置数据行的行高
|
||||
for row in range(1, 13): # 记录行
|
||||
for row in range(0, 12): # 记录行
|
||||
self.record_table.setRowHeight(row, 35)
|
||||
|
||||
# 设置列宽
|
||||
column_widths = [70, 200, 130, 130, 160, 120, 120, 120, 160] # 各列的默认宽度
|
||||
column_widths = [70, 200, 130, 130, 160, 120, 120, 120, 160]
|
||||
for col, width in enumerate(column_widths):
|
||||
self.record_table.setColumnWidth(col, width)
|
||||
self.record_table.horizontalHeader().resizeSection(col, width)
|
||||
|
||||
# 添加表格到布局
|
||||
self.record_layout.addWidget(self.record_table)
|
||||
|
||||
6
utils/api_utils.py
Normal file
6
utils/api_utils.py
Normal file
@ -0,0 +1,6 @@
|
||||
import requests
|
||||
import json
|
||||
from .config_loader import load_config
|
||||
|
||||
class ApiUtils:
|
||||
|
||||
@ -23,7 +23,7 @@ from utils.register_handlers import (
|
||||
from PySide6.QtWidgets import (
|
||||
QWidget, QMessageBox, QTableWidgetItem, QStackedWidget, QLabel, QMainWindow,
|
||||
QTableWidget, QMenu, QComboBox, QFormLayout, QDialog, QVBoxLayout, QHBoxLayout, QPushButton,
|
||||
QStatusBar, QSplitter, QFrame
|
||||
QStatusBar, QSplitter, QFrame, QHeaderView
|
||||
)
|
||||
from PySide6.QtCore import Qt, QTimer, Slot
|
||||
from PySide6.QtGui import QBrush, QColor
|
||||
@ -1195,15 +1195,41 @@ class MainWindow(MainWindowUI):
|
||||
except:
|
||||
pass
|
||||
|
||||
# 设置表头固定不动
|
||||
self.record_table.horizontalHeader().setSectionResizeMode(QHeaderView.Fixed)
|
||||
self.record_table.horizontalHeader().setStretchLastSection(False)
|
||||
self.record_table.horizontalHeader().setSectionsMovable(False)
|
||||
self.record_table.horizontalHeader().setSectionsClickable(False)
|
||||
|
||||
# 将第一行设置为表头,并固定在顶部
|
||||
self.record_table.setHorizontalHeaderLabels(["序号", "订单", "品名", "规格", "托号", "轴包装号", "毛重", "净重", "完成时间"])
|
||||
self.record_table.horizontalHeader().setVisible(True)
|
||||
|
||||
# 设置表头样式
|
||||
self.record_table.horizontalHeader().setStyleSheet("""
|
||||
QHeaderView::section {
|
||||
background-color: #f8f8f8;
|
||||
padding: 4px;
|
||||
border: 1px solid #dddddd;
|
||||
font-weight: bold;
|
||||
}
|
||||
""")
|
||||
|
||||
# 设置列宽
|
||||
column_widths = [70, 200, 130, 130, 160, 120, 120, 120, 160]
|
||||
for col, width in enumerate(column_widths):
|
||||
self.record_table.setColumnWidth(col, width)
|
||||
self.record_table.horizontalHeader().resizeSection(col, width)
|
||||
|
||||
# 添加所有包装记录到表格
|
||||
for index, item in enumerate(package_record):
|
||||
# 在包装记录表中添加新行
|
||||
row_index = index + 1 # 从第2行开始(索引为1)
|
||||
row_index = index # 从第1行开始(索引为0),因为现在使用真正的表头
|
||||
self.record_table.insertRow(row_index)
|
||||
|
||||
# 设置包装记录数据
|
||||
# 序号 - 第1列
|
||||
seq_item = QTableWidgetItem(str(row_index))
|
||||
seq_item = QTableWidgetItem(str(index + 1))
|
||||
seq_item.setTextAlignment(Qt.AlignCenter)
|
||||
self.record_table.setItem(row_index, 0, seq_item)
|
||||
|
||||
@ -1246,6 +1272,10 @@ class MainWindow(MainWindowUI):
|
||||
pack_time = QTableWidgetItem(str(item[7]))
|
||||
pack_time.setTextAlignment(Qt.AlignCenter)
|
||||
self.record_table.setItem(row_index, 8, pack_time)
|
||||
|
||||
# 设置表格不可编辑
|
||||
self.record_table.setEditTriggers(QTableWidget.NoEditTriggers)
|
||||
|
||||
# 更新包装记录统计数据
|
||||
self.update_package_statistics()
|
||||
def update_package_statistics(self):
|
||||
|
||||
Loading…
Reference in New Issue
Block a user