Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » PyQt4, доступ к полям QLineEdit в цикле [RSS Feed]

#1 Апрель 29, 2016 17:55:56

MyNick
Зарегистрирован: 2016-02-26
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt4, доступ к полям QLineEdit в цикле

В окне есть несколько текстовых полей QLineEdit именованных примерно так:

self.firstField, self.secondField
и тд.
Можно ли считать циклом все значения из них, например в кортеж?

Офлайн

#2 Апрель 29, 2016 19:35:45

Lestoroer
Зарегистрирован: 2015-12-24
Сообщения: 88
Репутация: +  5  -
Профиль   Отправить e-mail  

PyQt4, доступ к полям QLineEdit в цикле

можно сделать так.
Создаете список и вкладываете в него текстовые поля

spisok = [self.firstField, self.secondField]
Далее проходим циклом фор в списке и получаем значения текста с каждой лайнэдит занося их в новый список:
new_spisok = []
for i in spisok:
    give_text = i.text()
    new_spisok.append(give_text)
В итоге в конце получаем new_spisok с текстом

Отредактировано Lestoroer (Апрель 29, 2016 19:53:51)

Офлайн

#3 Апрель 29, 2016 21:10:39

MyNick
Зарегистрирован: 2016-02-26
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt4, доступ к полям QLineEdit в цикле

Спасибо за ваш ответ, но занести поля в массив я могу - интересует можно ли пробежаться в цикле по полям и считать значения именно штатными средствами PyQT/Python.
Знаю такое можно на других языках,- что-то типа

Form[0].QLineEdit[0]
Нельзя здесь так?

Отредактировано MyNick (Апрель 29, 2016 21:11:39)

Офлайн

#4 Апрель 30, 2016 04:01:12

vic57
Зарегистрирован: 2015-07-07
Сообщения: 908
Репутация: +  127  -
Профиль   Отправить e-mail  

PyQt4, доступ к полям QLineEdit в цикле

QWidget.children(), QWidget.findChild() в Qt, в PyQt не знаю есть ли привязка

from PyQt4.Qt import *
        
app = QApplication([])
w = QWidget()
lbl1 = QLabel('lbl1')
lbl2 = QLabel('lbl2')
lbl3 = QLabel('lbl3')
lay = QVBoxLayout(w)
lay.addWidget(lbl1)
lay.addWidget(lbl2)
lay.addWidget(lbl3)
w.move(0,0)
w.show()
for i in w.children():
    if type(i) == QLabel:
          print i.text()
app.exec_()
что-то есть

Отредактировано vic57 (Апрель 30, 2016 06:10:08)

Офлайн

#5 Апрель 30, 2016 09:12:07

MyNick
Зарегистрирован: 2016-02-26
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt4, доступ к полям QLineEdit в цикле

Благодарю

Офлайн

  • Начало
  • » GUI
  • » PyQt4, доступ к полям QLineEdit в цикле[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version