You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

138 lines
4.3 KiB
Python

2 years ago
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QCursor
from PyQt5.QtWidgets import *
from xps.ExploreTable import myTableModel
class Record(QWidget):
def __init__(self, *args):
super().__init__()
self.sec = 0
self.setWindowTitle('测试记录')
self.resize(1100, 750)
self.setFixedSize(self.width(), self.height())
self.list1 = ['全部', '规程', '用例组', '用例']
self.list2 = ['全部', '已完成', '未完成']
# 绑定模型查询出来的对象
self.data = None
# 查询模型
self.queryModel = None
# 数据表
self.tableView = None
self.dic = {
'header': ['类型', '编号', '名称', '测试时间', '是否完成'],
'data': []
}
self.runList = []
self.init()
def init(self):
lab1 = QLabel(self)
lab2 = QLabel(self)
lab3 = QLabel(self)
lab4 = QLabel(self)
lab1.setText('类型:')
lab2.setText('是否完成:')
lab3.setText('编号:')
lab4.setText('名称:')
self.all1 = QComboBox(self, minimumWidth=400, minimumHeight=40)
self.all2 = QComboBox(self, minimumWidth=100, minimumHeight=40)
self.all1.addItems(self.list1)
self.all2.addItems(self.list2)
self.qle1 = QLineEdit(self)
self.qle2 = QLineEdit(self)
self.qle1.returnPressed.connect(self.searchButtonClicked)
self.qle2.returnPressed.connect(self.searchButtonClicked)
self.btn1 = QPushButton('搜索')
self.btn1.clicked.connect(self.searchButtonClicked)
self.btn2 = QPushButton('导出')
self.btn2.clicked.connect(self.menuGroup)
self.btn3 = QPushButton('打开报告')
self.btn3.clicked.connect(self.openReport)
self.tableView = QTableView()
self.tableView.horizontalHeader().setStretchLastSection(True)
self.tableView.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
self.tableView.setEditTriggers(QAbstractItemView.NoEditTriggers)
layout = QVBoxLayout(self)
h1 = QHBoxLayout(self)
h3 = QHBoxLayout(self)
for j in (lab1, self.all1, lab2, self.all2, lab3, self.qle1, lab4, self.qle2, self.btn1):
h1.addWidget(j)
h3.addWidget(QSplitter())
h3.addWidget(self.btn2)
h3.addWidget(self.btn3)
h3.addWidget(QSplitter())
layout.addLayout(h1)
layout.addWidget(self.tableView)
layout.addLayout(h3)
self.setLayout(layout)
self.queryModel = myTableModel(self.dic['header'], self.dic['data'])
self.tableView.setModel(self.queryModel)
self.searchButtonClicked()
self.tableView.setContextMenuPolicy(Qt.CustomContextMenu)
self.tableView.customContextMenuRequested.connect(self.showContextMenu)
self.tableView.setSelectionBehavior(QAbstractItemView.SelectRows)
self.tableView.setEditTriggers(QAbstractItemView.NoEditTriggers)
self.tableView.setSelectionMode(QAbstractItemView.SingleSelection)
self.tableView.setSelectionBehavior(QAbstractItemView.SelectRows)
def showContextMenu(self): # 创建右键菜单
self.tableView.contextMenu = QMenu(self)
self.actionA = self.tableView.contextMenu.addAction('删除')
self.tableView.contextMenu.popup(QCursor.pos()) # 2菜单显示的位置
self.actionA.triggered.connect(self.actionHandler)
self.tableView.contextMenu.show()
def menuGroup(self):
self.men = QMenu(self)
# self.exportzz = self.men.addAction('导出自证报告')
self.exportcs = self.men.addAction('导出测试报告')
self.men.popup(QCursor.pos()) # 1菜单显示的位置
# self.exportzz.triggered.connect(self.self_certification)
self.exportcs.triggered.connect(self.myExport)
def onCombobox1Activate(self):
pass
# 点击查询
def searchButtonClicked(self):
pass
def self_certification(self):
pass
def myExport(self):
pass
def openReport(self):
pass
def actionHandler(self):
pass
if __name__ == '__main__':
app = QApplication(sys.argv)
win = Record()
win.show()
sys.exit(app.exec_())