Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
 
user01alex
0 / 0 / 0
Регистрация: 10.02.2020
Сообщений: 1
1
PyQt5

Как заполнить QLineEdit новыми данными?

11.02.2020, 00:11. Просмотров 132. Ответов 1
Метки нет (Все метки)

Решил попробовать создать несколько простых интерфейсов на qt в образовательных целях. Читаю книги, въезжаю в логику. Столкнулся с проблемой, нужна подсказка.

Есть форма с несколькими групбоксами, в каждом из них по QGridLayout. Приложение запускается, берет заготовленный лист ключей и читает значения из реестра в формате {Name: {'value': 'test', 'type': 1}}, их может быть сколько угодно. Далее создает Qlabel и QLineEdit и записывает в них "Name" и "value" соответственно.

Хочу сделать две кнопки, первая из которых перечитывает значения из реестра, вторая записывает если QLineEdit изменился. И вот тут загвоздка, не пойму как их обновить. Привязал кнопку на вызов функции по клику. После её вызова получил новые данные из реестра, а как впихнуть их в динамично созданные виджеты не пойму. Или нужно удалить старые и создать новые? Но вменяемых методов для этого не нагуглил
не ясно куда двигаться... и что я делаю не правильно.

С второй кнопкой если правильно понимаю, нужно сделать сигнал на всех QLineEdit на вызов функции и при появлении онного получать в ней адресат + подготавливать список значений из полученого текста, которые потом записать по второму батону.Так?

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class MyApp(QtWidgets.QMainWindow, design.Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.init_ui()
 
    def init_ui(self):
        a_reg_list = s.read_from_reg(s.path, s.key_list)
        if a_reg_list:
            positions = [(i, 1) for i in range(len(a_reg_list.keys()))]
            for key_name, position in zip(a_reg_list.keys(), positions):
                self.layout1.addWidget(QtWidgets.QLabel(key_name))
                ql = QtWidgets.QLineEdit(str(a_reg_list[key_name]['value']))
                ql.setObjectName(key_name)
                self.layout1.addWidget(ql, *position)
        else:
            self.agent_grid_layout.addWidget(QtWidgets.QLabel("NoInfo"))
 
 
        self.btn1.clicked.connect(self.reload_keys)
     
     def reload_keys()
        a_reg_list = s.read_from_reg(s.path, s.key_list)
        for key_name in a_reg_list.keys():
        ?????
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2020, 00:11
Ответы с готовыми решениями:

Как перезапустить программу с новыми данными из textBox
Что я делаю: Делаю игру сапер и там можно выбирать размер поля (высота и ширина) и нажать старт....

Файл: Подскажите, как взять вторую строку и перезаписать новыми данными, стерев предыдущие.
Добрый вечер. У меня есть файл из нескольких строк. Подскажите, как мне взять вторую строку и...

Как рассчитать разницу между новыми введенными данными в EditText и старыми и вывести результат в Textview?
Ребят нужна помощь, я только начал изучать андроид, собственно в своем приложении мне нужно чтобы...

Обнуление и заполнение новыми данными JTable
Здравствуйте. У меня возникла следующая проблема: В некотороый момент работы программы необходимо...

Chart. Перерисовать график с новыми данными
Я вывел график в чарте. массив значений у меня полностью изменился. как мне теперь перерисовать его?

1
tooru
1104 / 549 / 309
Регистрация: 07.01.2019
Сообщений: 1,596
11.02.2020, 00:26 2
Цитата Сообщение от user01alex Посмотреть сообщение
После её вызова получил новые данные из реестра, а как впихнуть их в динамично созданные виджеты не пойму.
Создать список self.widgets = [] и туда добавлять созданные виджеты

Цитата Сообщение от user01alex Посмотреть сообщение
С второй кнопкой если правильно понимаю, нужно сделать сигнал на всех QLineEdit на вызов функции и при появлении онного получать в ней адресат + подготавливать список значений из полученого текста, которые потом записать по второму батону.Так?
Вы спрашиваете, что вам нужно?
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.02.2020, 00:26

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Возможность повторить расчет с новыми данными не выходя из программы.
Подскажите пожалуйста, как на С++ будет писаться код, который на Паскале пишется так: program...

Вакансии и резюме: Составление массива с новыми данными (профессия, средняя з\п, стаж)
Всем привет. Возникли трудности с задачей: "Даны 2 входных текстовых файла, в одном из них -...

Как в Qt создать привязку табличных данных к QLineEdit через QSqlQueryModel с возможностью пересчета данных в таблице и на форме в QLineEdit
Уважаемые пишу программу с большим количеством вычислений возник вопрос Как в Qt создать привязку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.