Я пишу два кода для изменения данных между различными классами. но я не могу использовать данные во втором классе. в чем проблема кода?
в первом коде, обработка не показана в lineEdit и textEdit. однако это напечатано командой печати. во втором коде данные в mysql доза не ссылаются sh для отображения в строке редактора.
Первый код:
class Treatments(QWidget, treatmentsui):
def __init__(self, parent=None):
QWidget.__init__(self)
self.setupUi(self)
self.pushButton_3.clicked.connect(self.done_treatments)
def done_treatments(self):
items = []
for i in range(self.listWidget_4.count()):
items.append(str(self.listWidget_4.takeItem(0).text()))
# print(items)
self.treatments = items
self.ui = MainApp(self.treatments)
self.close()
class MainApp(QMainWindow, ui):
def __init__(self, treatments):
QMainWindow.__init__(self)
self.treatments = treatments
self.setupUi(self)
self.Handel_UI_Changes(self.treatments)
def Handel_UI_Changes(self, treatments):
tr2 = treatments
if treatments:
print('okok:' + str(treatments) + 'end')
self.textEdit.setText('treatments is:' + str(self.treatments) + 'end')
self.lineEdit_35.setText('treatments is:' + str(treatments) + 'end')
Второй код:
class Treatments(QWidget, treatmentsui):
def __init__(self, parent=None):
QWidget.__init__(self)
self.setupUi(self)
self.pushButton_3.clicked.connect(self.done_treatments)
def done_treatments(self):
items = []
for i in range(self.listWidget_4.count()):
items.append(str(self.listWidget_4.takeItem(0).text()))
# print(items)
self.db = MySQLdb.connect(host, user, password, db)
self.db.set_character_set('utf8')
self.cur = self.db.cursor(MySQLdb.cursors.DictCursor)
com = """create table temp_info(
code int PRIMARY KEY ,
temp_data varchar(50))"""
self.cur.execute('SET NAMES utf8;')
self.cur.execute('SET CHARACTER SET utf8;')
self.cur.execute('SET character_set_connection=utf8;')
self.cur.execute(com)
self.db.commit()
i = 0
for item in items:
i += 1
self.cur.execute('''INSERT INTO temp_info(code, temp_data) VALUES (%s, %s)''', (i, item))
self.db.commit()
self.db.autocommit(True)
self.db.close()
self.close()
class MainApp(QMainWindow, ui):
def __init__(self):
QMainWindow.__init__(self)
self.setupUi(self)
self.Handel_UI_Changes()
def Handel_UI_Changes(self):
self.tabWidget.tabBar().setVisible(False)
self.comboBox_3.hide()
self.db = MySQLdb.connect(host, user, password, db)
self.db.set_character_set('utf8')
self.cur = self.db.cursor(MySQLdb.cursors.DictCursor)
self.cur.execute('SET NAMES utf8;')
self.cur.execute('SET CHARACTER SET utf8;')
self.cur.execute('SET character_set_connection=utf8;')
try:
self.cur.execute(''' SELECT temp_data FROM temp_info''')
data = self.cur.fetchall()
for r in data:
print(r['temp_data'])
self.textEdit.setText(str(r['temp_data']))
except:
pass