Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Преобразование строки в переменную [RSS Feed]

#1 Дек. 11, 2019 09:34:15

Ser5+
Зарегистрирован: 2019-11-18
Сообщения: 65
Репутация: +  1  -
Профиль   Отправить e-mail  

Преобразование строки в переменную

Доброе утро форумчане. Вопрос про преобразование строки в переменную,насколько правильно я решил задачу или можно было сделать по другому? В интернете пишут,что небезопасно использовать такое преобразование. Вот решил узнать,а как можно по другому создать в цикле переменные?

Например:

 y=5
zn_spisok=['dfg','assa','gfhgdaa',...]
for row in range(0,20):
     self.input = QtWidgets.QLineEdit(parent=self.Dialog)
     self.input.resize(250,20)
     self.input.move(180,y)
     self.input.setText(zn_spisok[row])
y += 20

После создания несколько инпутов не могу получить данные,так как везде имя переменные одинаковые ‘self.input’

И тогда я решил преобразовывать строки в переменную и результат будет self.input1,self.input2…то что надо и могу извлекать данные print(self.input1.text())
 y = 5
i = 1
zn_spisok=['dfg','assa','gfhgdaa',...]
for row in range(0,20):
     inp = 'self.input'+str(i)
     exec(inp+'=QtWidgets.QLineEdit(parent=self.Dialog)')
     exec(inp+'.resize(250,20)')
     exec(inp+'.move(180,y)')
     exec(inp+'.setText(zn_spisok[row])')
y += 20
i += 1

Офлайн

#2 Дек. 11, 2019 10:32:08

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8006
Репутация: +  558  -
Профиль   Отправить e-mail  

Преобразование строки в переменную

Товарищ, вы же знаете что такое список

 zn_spisok=['dfg','assa','gfhgdaa',...]
вы его даже применяете.

И тут приходит в голову мысля, а почему бы не собрать множество инпутов в список или в словарь?



Офлайн

#3 Дек. 11, 2019 11:48:02

Ser5+
Зарегистрирован: 2019-11-18
Сообщения: 65
Репутация: +  1  -
Профиль   Отправить e-mail  

Преобразование строки в переменную

Ок допустим впихну в список inp2=
И потом в цикле

 inp2[i]=QtWidgets.QLineEdit(parent=self.Dialog)
inp2[i].resize(250,20)
inp2[i].move(180,y)
inp2[i].setText(zn_spisok[row])

И как теперь извлекать данные? Пробовал и self.input1.text() и inp2.text()

Офлайн

#4 Дек. 11, 2019 11:49:13

Ser5+
Зарегистрирован: 2019-11-18
Сообщения: 65
Репутация: +  1  -
Профиль   Отправить e-mail  

Преобразование строки в переменную

Ок допустим впихну в список

 inp2=['self.input1','self.input2','self.input3'.....]
И потом в цикле
 inp2[i]=QtWidgets.QLineEdit(parent=self.Dialog)
inp2[i].resize(250,20)
inp2[i].move(180,y)
inp2[i].setText(zn_spisok[row])

И как теперь извлекать данные? Пробовал и self.input1.text() и inp2.text()
Да и скорее всего на место
 inp2[i]
будет строка,а не переменная.

Отредактировано Ser5+ (Дек. 11, 2019 11:54:02)

Офлайн

#5 Дек. 11, 2019 13:47:45

Ser5+
Зарегистрирован: 2019-11-18
Сообщения: 65
Репутация: +  1  -
Профиль   Отправить e-mail  

Преобразование строки в переменную

В принципе вопрос закрыт. Забыл,что в список еще можно объекты записывать.

Офлайн

#6 Дек. 31, 2019 00:02:13

Johapaf
Зарегистрирован: 2019-12-28
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Преобразование строки в переменную

Generic! Comfort. Joy.
<a href=https://usabuyciali.com>order cialis overnight delivery</a>


See you later in USA
<a href=https://usabuyciali.com>Buy Cialis cheap</a>

Офлайн

  • Начало
  • » GUI
  • » Преобразование строки в переменную[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version