PyQt5应用程序完全停止

时间:2020-04-15 20:02:29

标签: mysql pyqt5

当我尝试在Add_car_info函数中将用户输入添加到mysql数据库时,我的Pyqt5应用程序在这里遇到问题。当我按下按钮添加信息时,应用停止运行,并显示此错误消息。在Windows上进行了测试。

enter image description here

代码如下:

from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.uic import loadUiType
from PyQt5 import QtWidgets, QtGui
import threading

import sys
import os
from os import path
import mysql.connector
import MySQLdb
#get the ui file
FORM_CLASS,_=loadUiType(path.join(path.dirname(__file__),"main.ui"))

class MainApp(QMainWindow, FORM_CLASS):
    def __init__(self, parent=None):
        super(MainApp,self).__init__(parent)
        QMainWindow.__init__(self)
        self.setupUi(self)
        self.Handel_Ui()
        self.Handel_DB_Connect()
        self.Handel_Buttons()
        self.Handel_DB_Connect()

    def Handel_Ui(self):
        self.setWindowTitle('Car_System')
        self.tabWidget.tabBar().setVisible(False)

    def Handel_DB_Connect(self):
        db = mysql.connector.connect(database='mydb',
                                             host='localhost',
                                             user='root',
                                             port='3309',
                                             password='toor')
        self.cur = db.cursor()
        QApplication.processEvents()

    def Handel_Buttons(self):
        self.pushButton.clicked.connect(self.Add_car_info)
        self.pushButton_2.clicked.connect(self.Update_car_info)
        self.pushButton_3.clicked.connect(self.Delete_car_info)
        self.pushButton_4.clicked.connect(self.Add_fuel_info)
        self.pushButton_9.clicked.connect(self.Update_fuel_info)
        self.pushButton_5.clicked.connect(self.Add_maintenance_info)
        self.pushButton_6.clicked.connect(self.Update_maintenance_info)
        self.pushButton_7.clicked.connect(self.Add_Licence_info)
        self.pushButton_8.clicked.connect(self.Update_Licence_info)
        self.pushButton_17.clicked.connect(self.Add_Revenus_info)
        self.pushButton_18.clicked.connect(self.Update_Revenus_info)
        self.pushButton_19.clicked.connect(self.Add_Rents_info)
        self.pushButton_20.clicked.connect(self.Update_Rents_info)
        self.pushButton_34.clicked.connect(self.Add_elewater_info)
        self.pushButton_33.clicked.connect(self.Update_elewater_info)

    def Add_car_info(self):
        car_number = self.lineEdit_12.text()
        owner_company = self.lineEdit_10.text()
        branch = self.lineEdit_8.text()
        service_mode = self.comboBox.currentIndex()
        shaceh_number = self.lineEdit_4.text()
        motor_number = self.lineEdit_2.text()
        fuel_type = self.comboBox_2.currentIndex()
        car_type = self.lineEdit_11.text()
        car_model = self.lineEdit_9.text()
        car_load = self.lineEdit_7.text()
        car_wight = self.lineEdit_5.text
        car_shape = self.lineEdit_3.text()
        car_color = self.lineEdit.text()

        self.cur.execute('''INSERT INTO car_info(car_number, owner_company, branch, service_mode, shaceh_number, motor_number, fuel_type, car_type, car_model, car_load, car_weight, car_shape, car_color)'
                         VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)''' , (car_number,owner_company,branch,service_mode,shaceh_number,motor_number,fuel_type,car_type,car_model,car_load,car_wight,car_shape,car_color))
        QApplication.processEvents()
        print('Done')


    def Update_car_info(self):
        pass

    def Delete_car_info(self):
        pass

    def Add_fuel_info(self):
        pass

    def Update_fuel_info(self):
        pass

    def Add_maintenance_info(self):
        pass

    def Update_maintenance_info(self):
        pass

    def Add_Licence_info(self):
        pass

    def Update_Licence_info(self):
        pass

    def Add_Revenus_info(self):
        pass

    def Update_Revenus_info(self):
        pass

    def Add_Rents_info(self):
        pass

    def Update_Rents_info(self):
        pass

    def Add_elewater_info(self):
        pass

    def Update_elewater_info(self):
        pass

def main():
    app = QApplication(sys.argv)
    window = MainApp()
    window.show()
    app.exec_()

if __name__ == '__main__':
    main()

感谢您的参加,并祝您愉快。

0 个答案:

没有答案
相关问题