Anonymous
Невозможно получить доступ к переменной, объявленной внутри класса, за его пределами.
Сообщение
Anonymous » 27 ноя 2024, 11:14
Мой код следующий:
Код: Выделить всё
class makequestions(QMainWindow):
def __init__(self):
super(makequestions, self).__init__()
uic.loadUi("Addquestions.ui", self)
self.button= self.findChild(QPushButton, "pushButton")
self.table= self.findChild(QTableWidget, "tableWidget")
self.button.clicked.connect(self.data_collection)
self.show()
def data_collection(self):
zeze=self.table.item(0,0).text()
zeon=self.table.item(0,1).text()
zetw=self.table.item(0,2).text()
zeth=self.table.item(0,3).text()
zefo=self.table.item(0,4).text()
zefi=self.table.item(0,5).text()
onze=self.table.item(1,0).text()
onon=self.table.item(1,1).text()
ontw=self.table.item(1,2).text()
onth=self.table.item(1,3).text()
onfo=self.table.item(1,4).text()
onfi=self.table.item(1,5).text()
twze=self.table.item(2,0).text()
twon=self.table.item(2,1).text()
twtw=self.table.item(2,2).text()
twth=self.table.item(2,3).text()
twfo=self.table.item(2,4).text()
twfi=self.table.item(2,5).text()
thze=self.table.item(3,0).text()
thon=self.table.item(3,1).text()
thtw=self.table.item(3,2).text()
thth=self.table.item(3,3).text()
thfo=self.table.item(3,4).text()
thfi=self.table.item(3,5).text()
foze=self.table.item(4,0).text()
foon=self.table.item(4,1).text()
fotw=self.table.item(4,2).text()
foth=self.table.item(4,3).text()
fofo=self.table.item(4,4).text()
fofi=self.table.item(4,5).text()
fize=self.table.item(5,0).text()
fion=self.table.item(5,1).text()
fitw=self.table.item(5,2).text()
fith=self.table.item(5,3).text()
fifo=self.table.item(5,4).text()
fifi=self.table.item(5,5).text()
size=self.table.item(6,0).text()
sion=self.table.item(6,1).text()
sitw=self.table.item(6,2).text()
sith=self.table.item(6,3).text()
sifo=self.table.item(6,4).text()
sifi=self.table.item(6,5).text()
seze=self.table.item(7,0).text()
seon=self.table.item(7,1).text()
setw=self.table.item(7,2).text()
seth=self.table.item(7,3).text()
sefo=self.table.item(7,4).text()
sefi=self.table.item(7,5).text()
eize=self.table.item(8,0).text()
eion=self.table.item(8,1).text()
eitw=self.table.item(8,2).text()
eith=self.table.item(8,3).text()
eifo=self.table.item(8,4).text()
eifi=self.table.item(8,5).text()
nize=self.table.item(9,0).text()
nion=self.table.item(9,1).text()
nitw=self.table.item(9,2).text()
nith=self.table.item(9,3).text()
nifo=self.table.item(9,4).text()
nifi=self.table.item(9,5).text()
self.questions = pd.DataFrame({
'Question': [zeze,onze ,twze ,thze ,foze ,fize ,size ,seze ,eize ,nize],
'Option1': [zeon,onon ,twon ,thon ,foon ,fion ,sion ,seon ,eion ,nion],
'Option2': [zetw,ontw ,twtw ,thtw ,fotw ,fitw ,sitw ,setw ,eitw ,nitw],
'Option3': [zeth,onth ,twth ,thth ,foth ,fith ,sith ,seth ,eith ,nith],
'Option4': [zefo,onfo ,twfo ,thfo ,fofo ,fifo ,sifo ,sefo ,eifo ,nifo],
'Correct Answer': [zefi,onfi ,twfi ,thfi ,fofi ,fifi ,sifi ,sefi ,eifi ,nifi]
})
teacherquestions.close()
teacherquiz.show()
m = makequestions()
choosefrom = []
for i in range(1, 101):
choosefrom.append(["t", i])
random_name = random.choice(choosefrom)
frame = m.questions
Когда я запускаю этот код, я получаю сообщение об ошибке:
Файл "c:\Users\santh\OneDrive\ Documents\PyQt5\yeah - Copy.py", строка 481, в
frame=m.questions
AttributeError: объект makequestions не имеет атрибута "questions"
Изменить: я попробовал применить то, что посоветовал @buzz8year, - объявление свойства класса вопросов, - это работает, но в конечном итоге принимает значение вопросов как None вместо значения, которое я присвою ему позже.
Подробнее здесь:
https://stackoverflow.com/questions/721 ... side-of-it
1732695256
Anonymous
Мой код следующий: [code]class makequestions(QMainWindow): def __init__(self): super(makequestions, self).__init__() uic.loadUi("Addquestions.ui", self) self.button= self.findChild(QPushButton, "pushButton") self.table= self.findChild(QTableWidget, "tableWidget") self.button.clicked.connect(self.data_collection) self.show() def data_collection(self): zeze=self.table.item(0,0).text() zeon=self.table.item(0,1).text() zetw=self.table.item(0,2).text() zeth=self.table.item(0,3).text() zefo=self.table.item(0,4).text() zefi=self.table.item(0,5).text() onze=self.table.item(1,0).text() onon=self.table.item(1,1).text() ontw=self.table.item(1,2).text() onth=self.table.item(1,3).text() onfo=self.table.item(1,4).text() onfi=self.table.item(1,5).text() twze=self.table.item(2,0).text() twon=self.table.item(2,1).text() twtw=self.table.item(2,2).text() twth=self.table.item(2,3).text() twfo=self.table.item(2,4).text() twfi=self.table.item(2,5).text() thze=self.table.item(3,0).text() thon=self.table.item(3,1).text() thtw=self.table.item(3,2).text() thth=self.table.item(3,3).text() thfo=self.table.item(3,4).text() thfi=self.table.item(3,5).text() foze=self.table.item(4,0).text() foon=self.table.item(4,1).text() fotw=self.table.item(4,2).text() foth=self.table.item(4,3).text() fofo=self.table.item(4,4).text() fofi=self.table.item(4,5).text() fize=self.table.item(5,0).text() fion=self.table.item(5,1).text() fitw=self.table.item(5,2).text() fith=self.table.item(5,3).text() fifo=self.table.item(5,4).text() fifi=self.table.item(5,5).text() size=self.table.item(6,0).text() sion=self.table.item(6,1).text() sitw=self.table.item(6,2).text() sith=self.table.item(6,3).text() sifo=self.table.item(6,4).text() sifi=self.table.item(6,5).text() seze=self.table.item(7,0).text() seon=self.table.item(7,1).text() setw=self.table.item(7,2).text() seth=self.table.item(7,3).text() sefo=self.table.item(7,4).text() sefi=self.table.item(7,5).text() eize=self.table.item(8,0).text() eion=self.table.item(8,1).text() eitw=self.table.item(8,2).text() eith=self.table.item(8,3).text() eifo=self.table.item(8,4).text() eifi=self.table.item(8,5).text() nize=self.table.item(9,0).text() nion=self.table.item(9,1).text() nitw=self.table.item(9,2).text() nith=self.table.item(9,3).text() nifo=self.table.item(9,4).text() nifi=self.table.item(9,5).text() self.questions = pd.DataFrame({ 'Question': [zeze,onze ,twze ,thze ,foze ,fize ,size ,seze ,eize ,nize], 'Option1': [zeon,onon ,twon ,thon ,foon ,fion ,sion ,seon ,eion ,nion], 'Option2': [zetw,ontw ,twtw ,thtw ,fotw ,fitw ,sitw ,setw ,eitw ,nitw], 'Option3': [zeth,onth ,twth ,thth ,foth ,fith ,sith ,seth ,eith ,nith], 'Option4': [zefo,onfo ,twfo ,thfo ,fofo ,fifo ,sifo ,sefo ,eifo ,nifo], 'Correct Answer': [zefi,onfi ,twfi ,thfi ,fofi ,fifi ,sifi ,sefi ,eifi ,nifi] }) teacherquestions.close() teacherquiz.show() m = makequestions() choosefrom = [] for i in range(1, 101): choosefrom.append(["t", i]) random_name = random.choice(choosefrom) frame = m.questions [/code] Когда я запускаю этот код, я получаю сообщение об ошибке: Файл "c:\Users\santh\OneDrive\ Documents\PyQt5\yeah - Copy.py", строка 481, в frame=m.questions AttributeError: объект makequestions не имеет атрибута "questions" Изменить: я попробовал применить то, что посоветовал @buzz8year, - объявление свойства класса вопросов, - это работает, но в конечном итоге принимает значение вопросов как None вместо значения, которое я присвою ему позже. Подробнее здесь: [url]https://stackoverflow.com/questions/72100128/unable-to-access-variable-that-has-been-declared-inside-a-class-outside-of-it[/url]