12306/yixing/12306.py

180 lines
7.0 KiB
Python

# -*- coding: utf8 -*-
from PyQt5 import Qt, QtGui
from PyQt5.QtWidgets import QAbstractItemView, QComboBox, QPushButton, QCheckBox
from PyQt5.QtWidgets import QColorDialog
from PyQt5.QtWidgets import QFileDialog
from PyQt5.QtWidgets import QFontDialog
from PyQt5.QtWidgets import QHeaderView
from PyQt5.QtWidgets import QInputDialog
from PyQt5.QtWidgets import QLineEdit
from PyQt5.QtWidgets import QListWidgetItem
from PyQt5.QtWidgets import QMessageBox
from PyQt5.QtWidgets import QTableWidgetItem
__author__ = 'MR.wen'
from PyQt5 import QtWidgets, QtCore
from yixing.test import Ui_MainWindow
from yixing.tiket import Ui_Form
class myWindow(QtWidgets.QMainWindow, Ui_MainWindow):
_signal = QtCore.pyqtBoundSignal(str)
def __init__(self):
super(myWindow, self).__init__()
self.setupUi(self)
self.fileOpen.triggered.connect(self.opMsg)
self.closeFile.triggered.connect(self.close)
self.actionTst.triggered.connect(self.childShow)
self.pushButton_2.clicked.connect(self.call_ticket)
def getStr(self):
print (self.lineEdit.text())
self.textEdit.setText(self.lineEdit.text())
def call_ticket(self):
"""
调用添加坐席俺窗口
:return:
"""
self.t = ticket()
self.t.show()
def getDate(self):
print("is ok!")
def opMsg(self):
file, ok = QFileDialog.getOpenFileName(self, "打开", "C:/", "All Files (*);;Text Files (*.txt)")
print(file)
self.statusbar.showMessage(file)
def childShow(self):
self.gridLayout.addWidget(self.child)
print("gridLayout id ok! ")
self.child.show()
class ticket(QtWidgets.QMainWindow, Ui_Form):
"""车票设置窗口"""
def __init__(self):
super(ticket, self).__init__()
self.setWindowTitle("添加车次信息")
self.setupUi(self)
self.dateEdit_2.setCalendarPopup(True)
self.get_ticket_info()
self.get_set_info()
self.tableWidget.itemDoubleClicked.connect(self.doubleClickedEvent)
def doubleClickedEvent(self, item):
"""获取选中车次的车次号"""
row_num = 0
self.selectTicketInfo.setColumnCount(1)
self.selectTicketInfo.setRowCount(row_num)
if item is None:
return
else:
row = self.tableWidget.currentIndex().row()
if row is not -1:
rowCount = self.selectTicketInfo.rowCount()
print(rowCount)
row_num = rowCount + 1
self.selectTicketInfo.setRowCount(row_num)
ticket = self.tableWidget.item(row, 0).text()
item = QTableWidgetItem(ticket)
self.selectTicketInfo.horizontalHeader().setVisible(False)
self.selectTicketInfo.verticalHeader().setVisible(False)
self.selectTicketInfo.setItem(0, 0, item)
def get_select_ticket_info(self):
"""获取所选列车表"""
def get_ticket_info(self):
"""列车信息表"""
self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) # 表格自适应窗口
self.table_info = ["车次", "出发站", "到达站", "历时", "商务座", "特等座", "一等座", "二等座", "软卧", "硬卧", "软座", "无座", " "]
self.tableWidget.setColumnCount(len(self.table_info)) # 设置表格长度
self.tableWidget.setRowCount(10)
self.tableWidget.setHorizontalHeaderLabels(self.table_info) # 设置表格行
self.tableWidget.setSelectionBehavior(QAbstractItemView.SelectRows) # 整行选中的方式
self.tableWidget.setSelectionMode(QAbstractItemView.ExtendedSelection) # 设置为可以选中多个目标
self.tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers)
# self.tableWidget.setEditTriggers(QAbstractItemView.DoubleClicked)
newItem = QTableWidgetItem("松鼠")
self.tableWidget.setItem(0, 0, newItem)
newItem = QTableWidgetItem("10cm")
self.tableWidget.setItem(0, 1, newItem)
newItem = QTableWidgetItem("60g")
self.tableWidget.setItem(0, 2, newItem)
newItem = QTableWidgetItem("60g")
self.tableWidget.setItem(0, 3, newItem)
newItem = QTableWidgetItem("60g")
self.tableWidget.setItem(0, 4, newItem)
newItem = QTableWidgetItem("60g")
self.tableWidget.setItem(0, 5, newItem)
newItem = QTableWidgetItem("60g")
self.tableWidget.setItem(0, 6, newItem)
newItem = QTableWidgetItem("60g")
self.tableWidget.setItem(0, 7, newItem)
newItem = QTableWidgetItem("60g")
self.tableWidget.setItem(0, 8, newItem)
newItem = QTableWidgetItem("60g")
self.tableWidget.setItem(0, 9, newItem)
newItem = QTableWidgetItem("60g")
self.tableWidget.setItem(0, 10, newItem)
newItem = QTableWidgetItem("60g")
self.tableWidget.setItem(0, 11, newItem)
self.getTicket = QPushButton() # 表格最后一行添加按钮,供选择车次使用
self.getTicket.setText("添加")
self.tableWidget.setCellWidget(0, 12, self.getTicket)
newItem = QTableWidgetItem("狐狸")
self.tableWidget.setItem(1, 0, newItem)
newItem = QTableWidgetItem("10cm")
self.tableWidget.setItem(1, 1, newItem)
newItem = QTableWidgetItem("61g")
self.tableWidget.setItem(1, 2, newItem)
self.getTicket = QPushButton() # 表格最后一行添加按钮,供选择车次使用
self.getTicket.setText("添加")
self.tableWidget.setCellWidget(1, 12, self.getTicket)
def get_set_info(self):
"""选择坐席表"""
self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) # 表格自适应窗口
self.set_info = ["商务座", "特等座", "一等座", "二等座", "软卧", "硬卧", "软座", "无座"]
self.setInfo.setColumnCount(1) # 坐席表
self.setInfo.setRowCount(len(self.set_info))
self.setInfo.setHorizontalHeaderLabels(self.table_info) # 设置表格行
self.setInfo.setSelectionMode(QAbstractItemView.ExtendedSelection) # 设置为可以选中多个目标
self.setInfo.horizontalHeader().setVisible(False)
self.setInfo.verticalHeader().setVisible(False)
for i in range(len(self.set_info)):
self.checkBySet = QTableWidgetItem(self.set_info[i])
self.checkBySet.setCheckState(QtCore.Qt.Unchecked)
self.setInfo.setItem(i, 0, self.checkBySet)
def outSelect(self, item=None):
if item is None:
return
else:
rows = self.tableWidget.currentRow
print(rows)
for i in range(self.tableWidget.columnCount()): # 选中行数之后,遍历改列所有数据
print(self.tableWidget.item(rows, i).text())
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
myshow = myWindow()
myshow.show()
sys.exit(app.exec_())