from PyQt5.Qt import *
class Window(QWidget):
def __init__(self,parent=None):
super().__init__(parent)
self.parent=parent
self.setWindowTitle("NB的系统")
self.resize(1220,760)
self.setup_ui()
def setup_ui(self):
layout=QVBoxLayout()
self.setLayout(layout)
layout.addLayout(self.init_header())
layout.addLayout(self.init_form())
layout.addLayout(self.init_table())
layout.addLayout(self.init_footer())
def init_header(self):
header_layout=QHBoxLayout()
btn_start=QPushButton("开始")
btn_stop=QPushButton("停止")
header_layout.addWidget(btn_start)
header_layout.addWidget(btn_stop)
header_layout.addStretch()
return header_layout
def init_form(self):
#2.创建上面标题布局
form_layout=QHBoxLayout()
#2.1 输入框
txt_asin=QLineEdit()
txt_asin.setPlaceholderText("请输入商品ID的价格,例如:B0818JJQQ8=88")
form_layout.addWidget(txt_asin)
#2.2 添加按钮
btn_add=QPushButton("添加")
form_layout.addWidget(btn_add)
return form_layout
def init_table(self):
# 3 创建中间表格
table_layout=QHBoxLayout()
#3.1 创建表格
table_widget=QTableWidget(0,8)
table_header=[
{"field":"asin","text":"ASIN","width":120},
{"field":"title","text":"标题","width":150},
{"field":"url","text":"URL","width":400},
{"field":"price","text":"底价","width":100},
{"field":"sucess","text":"成功次数","width":100},
{"field":"error","text":"失败次数","width":100},
{"field":"status","text":"状态","width":100},
{"field":"frequency","text":"频率(N秒/次)","width":100},
]
for idx,info in enumerate(table_header):
item = QTableWidgetItem()
item.setText(info["text"])
table_widget.setHorizontalHeaderItem(idx,item)
table_widget.setColumnWidth(idx, info['width'])
table_layout.addWidget(table_widget)
return table_layout
def init_footer(self):
footer_layout=QHBoxLayout()
label_status=QLabel("未检测")
footer_layout.addWidget(label_status)
footer_layout.addStretch()
btn_reinit=QPushButton("重新初始化")
footer_layout.addWidget(btn_reinit)
btn_recheck=QPushButton("重新检测")
footer_layout.addWidget(btn_recheck)
btn_reset_count=QPushButton("次数清零")
footer_layout.addWidget(btn_reset_count)
btn_delete=QPushButton("删除检测项")
footer_layout.addWidget(btn_delete)
return footer_layout
该代码为本人从视频课程中习得,非常感谢原作者。先把框架保存下,后续会把该项目代码一并发出。原作者是结合实战项目,很有价值。对你有帮助请点个赞!谢谢