cdsgg 发表于 2021-1-15 12:23

不会吧这年头还有人坐大巴吗(长途汽车车票查询,pyqt写的界面)附成品

from PyQt5 import QtCore, QtGui, QtWidgets
import sys
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QMainWindow, QApplication, QTabWidget, QHeaderView, QMessageBox, QTableWidgetItem
import requests
from urllib.parse import quote


class Ui_Form(object):
    def setupUi(self, Form):
      Form.setObjectName("Form")
      Form.resize(849, 666)
      Form.setFixedSize(849, 666)
      self.lineEdit = QtWidgets.QLineEdit(Form)
      self.lineEdit.setGeometry(QtCore.QRect(280, 30, 121, 31))
      self.lineEdit.setObjectName("lineEdit")
      self.lineEdit_2 = QtWidgets.QLineEdit(Form)
      self.lineEdit_2.setGeometry(QtCore.QRect(470, 30, 121, 31))
      self.lineEdit_2.setObjectName("lineEdit_2")
      self.pushButton = QtWidgets.QPushButton(Form)
      self.pushButton.setGeometry(QtCore.QRect(390, 80, 81, 31))
      self.pushButton.setObjectName("pushButton")
      self.tableWidget = QtWidgets.QTableWidget(Form)
      self.tableWidget.setGeometry(QtCore.QRect(0, 130, 851, 541))
      self.tableWidget.setObjectName("tableWidget")
      self.tableWidget.setColumnCount(9)
      self.tableWidget.setRowCount(16)
      self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
      self.tableWidget.setHorizontalHeaderLabels(['出发城市', '到达城市', '出发车站', '到达车站', '出发时间', '车型', '到达时间', '价格', '剩余票数'])
      self.pushButton.clicked.connect(self.AskFor)

      self.retranslateUi(Form)
      QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
      _translate = QtCore.QCoreApplication.translate
      Form.setWindowTitle(_translate("Form", "查询车票"))
      Form.setWindowIcon(QIcon('./aa.ico'))#这里放图标文件
      self.lineEdit.setPlaceholderText(_translate("Form", "出发城市"))
      self.lineEdit_2.setPlaceholderText(_translate("Form", "到达城市"))
      self.pushButton.setText(_translate("Form", "查询"))

    def AskFor(self):
      self.tableWidget.clearContents()
      SetOut = quote(self.lineEdit.text())# 出发站
      ArriveStation = quote(self.lineEdit_2.text())# 终点站
      req = requests.get(
            f'https://api.jisuapi.com/bus/city2c?appkey=这里需要自己去申请api申请网站&start={SetOut}&end={ArriveStation}').json()#申请的网站https://www.jisuapi.com/ 有点做广告的嫌疑了= =
      print(req)
      if req["status"] == '203':
            QMessageBox.information(w, '提示', '暂无此站点信息')
      else:
            result = req["result"]# 获取结果 返回的是一个列表 每一个切片都是一个字典
            num = 0
            for i in result:
                newItem = QTableWidgetItem(i["startcity"])# 出发城市
                newItem2 = QTableWidgetItem(i["endcity"])# 到达城市
                newItem3 = QTableWidgetItem(i["startstation"])# 出发车站
                newItem4 = QTableWidgetItem(i["endstation"])# 到达车站
                newItem5 = QTableWidgetItem(i["starttime"])# 出发时间
                newItem6 = QTableWidgetItem(i["bustype"])# 车型
                newItem7 = QTableWidgetItem(i["distance"])# 到达时间
                newItem8 = QTableWidgetItem(f'{i["price"]}元')# 价格
                newItem9 = QTableWidgetItem(i["ticket"])# 剩余数量

                self.tableWidget.setItem(num, 0, newItem)
                self.tableWidget.setItem(num, 1, newItem2)
                self.tableWidget.setItem(num, 2, newItem3)
                self.tableWidget.setItem(num, 3, newItem4)
                self.tableWidget.setItem(num, 4, newItem5)
                self.tableWidget.setItem(num, 5, newItem6)
                self.tableWidget.setItem(num, 6, newItem7)
                self.tableWidget.setItem(num, 7, newItem8)
                self.tableWidget.setItem(num, 8, newItem9)
                num = num + 1


if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = QMainWindow()
    UI = Ui_Form()
    UI.setupUi(w)
    w.show()
    app.exec_()



附成品链接:https://wwa.lanzouj.com/iQhMGkf5jdc
成品总共只能使用1000次 用完了就废了 大家省点用

cdsgg 发表于 2021-1-15 12:35

kaka0000 发表于 2021-1-15 12:33
首先感谢楼主的奉献精神,同时羡慕楼主的学习精神
然后说一句,大巴跟火车,目前依然是好多人中途跟长途出 ...

我还以为这年头大家首选 动车 不晓得做出来有没有用 蛮写一个玩玩

cdsgg 发表于 2021-1-15 13:34

hsanren 发表于 2021-1-15 13:33
先提示api-ms-win-core-path-l1-1-0.dll 文件缺失,网上下载一个后,提示,运行不了,

你这个是win7吧win7的电脑一般是会出现这样子错误 建议装win10 系统

不羁的风儿 发表于 2021-1-15 12:31

虽然我不会坐大巴,但是羡慕楼主的技术,感谢分享!

万事笔通 发表于 2021-1-15 12:32

极速api免费有多少

kaka0000 发表于 2021-1-15 12:33

首先感谢楼主的奉献精神,同时羡慕楼主的学习精神
然后说一句,大巴跟火车,目前依然是好多人中途跟长途出行的首选交通方式

cdsgg 发表于 2021-1-15 12:34

万事笔通 发表于 2021-1-15 12:32
极速api免费有多少

没仔细去看 你可以到官网看看

xxkz 发表于 2021-1-15 12:37

用处有限,目前有些地方没通火车,更不用说动车了,大巴是唯一的出行方式,但是当地人应该都知道在哪里坐车,什么时间点,那就只剩一种人需要了那就是出差,临时去某地的人使用了。

邪恶海盗 发表于 2021-1-15 12:43

调用的是哪里的数据???

cdsgg 发表于 2021-1-15 12:47

邪恶海盗 发表于 2021-1-15 12:43
调用的是哪里的数据???

极速api 我怕到时候有做广告的嫌疑 = =

flashanimate 发表于 2021-1-15 12:47

极品软件,1000次够用1000年。
页: [1] 2 3
查看完整版本: 不会吧这年头还有人坐大巴吗(长途汽车车票查询,pyqt写的界面)附成品