Я использую формат json с моим кодом Python, и у меня есть раздел ввода пользователя, который будет принимать целое число mno как ввод, и при нажатии кнопки 1 он должен показывать эти входные данные, но показывая ошибку "PyQt4.QtCore.QString (u '') не поддерживает сериализацию в формате JSON "Так что, пожалуйста, дайте мне знать, что я делаю неправильно.
from PyQt4 import QtCore, QtGui
import sys
from functools import partial
import json
data_packet={ "source":0 ,"destination":0, "plate_no": 0, "vehicle_type": { } }
Dest=0
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return s
try:
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
class Ui_GUI(object):
def __init__(self):
app = QtGui.QApplication(sys.argv)
self.GUI = QtGui.QWidget()
self.setupUi(self.GUI)
self.GUI.show()
sys.exit(app.exec_())
def setupUi(self, GUI):
GUI.setObjectName(_fromUtf8("GUI"))
GUI.resize(300, 200)
self.lineEdit = QtGui.QLineEdit(GUI)
#self.lineEdit_DronesDestination.setValidator(QtGui.QIntValidator())
#self.lineEdit_DronesDestination.setEnabled(True)
self.lineEdit.setGeometry(QtCore.QRect(50, 50, 51, 31))
#self.lineEdit_DronesDestination.setValidator(_fromUtf8(""))
self.lineEdit.setText(_fromUtf8(""))
self.lineEdit.setObjectName(_fromUtf8("lineEdit"))
self.input=self.lineEdit.text()
self.pushButton_1 = QtGui.QPushButton(GUI)
self.pushButton_1.setGeometry(QtCore.QRect(50, 100, 71, 31))
self.pushButton_1.setObjectName(_fromUtf8("pushButton_1"))
self.pushButton_1.clicked.connect(partial(self.function,self.input))
self.retranslateUi(GUI)
QtCore.QMetaObject.connectSlotsByName(GUI)
def retranslateUi(self, GUI):
GUI.setWindowTitle(_translate("GUI", "GUI", None))
self.pushButton_1.setText(_translate("GUI", "button1", None))
def function(self,Dest):
DEST=Dest
print(Dest)
print("Hello")
data_packet['source']=1
data_packet['destination']=DEST
data_packet['plate_no']=6
data_packet['vehicle_type']= { "car":"BMW" }
data = json.dumps(data_packet)
#ws.send(data)
print(data)
ui=Ui_GUI()