|
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
|
|||||||||||
Значение индикатора в другом модуле на PyQt526.01.2020, 18:17. Показов 2922. Ответов 12
Есть класс создания электронного индикатора QLCDNumber, требуется передача значения с экрана индикатора в другой модуль.
Первый модуль
Знаю, что данную возможность можно выполнить следующей инструкцией: self.lcdNumber.intValue() и вроде как бы она работает в данном модуле если ее таким образом прописать. Мне необходимо передать данное значение в другой модуль в функцию clickRun для его дальнейшей обработке, вот часть кода, где ей место: Второй модуль
Подключаю первый (предоставленный выше) модуль, вызываю инструкцией: ИмяМодуля.TabBinary.lcdNumber.intValue() - не работает??? в контексте данного примера. Подключался таким образом в других случаях все норм. Инструкция не обращается к классу TabBinary, я так понял. Что делать, как решить и узнать в чем проблема. Если не работает значит я кардинально неправильно что-то понимаю. Кто...нть помогите, что я делаю не так, все сделать необходимо именно так как представленно в данном контексте, т.к. мне необходимо реализовать именно данный шаблон.
0
|
|||||||||||
| 26.01.2020, 18:17 | |
|
Ответы с готовыми решениями:
12
Значение переменной из одного модуля получить в другом модуле Получить значение переменной при нажатии кнопки с lambda и использовать в другом модуле/классе
|
|
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
|
|
| 26.01.2020, 18:53 | |
|
данные передаются через сигнал->слот
https://pythonworld.ru/gui/pyq... gnals.html
1
|
|
|
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
|
|
| 26.01.2020, 19:49 [ТС] | |
|
vic5710, спасибо, но это не ответ. Я уже осуществил способ передачи данных именно с помощью слотов @QtCore.pyqtSlot(bool, name="clickRun"). Мне нужен сам сигнал, который уже у получателя, т.е. на экране индикатора. Вот это значение сигнала self.lcdNumber.intValue(). Я где-то просчитался с ООП, я что-то не понял во взаимодействии объекта (значение экрана индикатора) в классе вкладки и другого модуля. А по приведенной Вами ссылке только примеры, показывающие реализацию еще одного метода PyQt5.
Пожалуйста посмотрите повнимательнее сам код и постарайтесь ответить на вопрос. Или сказать можно реализовать данное событие или нет. Добавлено через 7 минут Мне необходим сам сигнал в функцию-слот clickRun (). Например 42 или 8645. Сам способ обращения к данному объекту self.lcdNumber.intValue() в классе TabBinary из модуля presenter.
0
|
|
|
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
|
|
| 26.01.2020, 20:05 | |
|
и где у вас сигнал? с чем коннектится?
Не по теме: учите матчасть https://zhakob.blogspot.com/2016/08/pyqt5.html
1
|
|
|
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
|
|||||||||||||||||
| 27.01.2020, 01:04 [ТС] | |||||||||||||||||
|
test.py
во втором модуле (например test_002.py) обращение к переменной x = а self.lcdNumber.intValue() невозможно, почему? Добавлено через 3 часа 9 минут Вот что он выдает при обращении к этому объекту: <built-in function x>
0
|
|||||||||||||||||
|
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,302
|
|
| 27.01.2020, 04:38 | |
|
Приведите минимальный запускаемый пример
0
|
|
|
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
|
|||||||||||
| 27.01.2020, 12:08 [ТС] | |||||||||||
|
tooru, пример.
Запускать данный модуль - test
0
|
|||||||||||
|
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
|
|||||||
| 27.01.2020, 13:06 | |||||||
|
для передачи данных между классами создайте свой сигнал, если стандартных мало
1
|
|||||||
|
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
|
||||||||
| 27.01.2020, 15:20 [ТС] | ||||||||
0
|
||||||||
|
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,302
|
|||
| 27.01.2020, 16:03 | |||
|
1
|
|||
|
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
|
||
| 27.01.2020, 16:44 [ТС] | ||
|
Мне необходимо вывести целочисленное значение self.lcdNumber.intValue() в глобальную область видимости для дальнейшей работы с ним или способ получения сигнала данного значения в другом модуле. Его нет в глобальной области видимости из-за каких-то ограничений накладываемых классами родителя QtWidgets.QWidget или из-за того, что он находится в классе конструктора(инициализатора). Как выйти из этой ситуации? Добавлено через 2 минуты Инкапсуляция, полиморфизм и наследование главные принципы ООП в python, поэтому менять что-то в коде не имеет смысла, нужен другой подход. Добавлено через 6 минут Код работает, значение выводится на экран. Мне необходим еще один модуль для работы над этим значением. Не класс, так как мне необходимо наглядно проработать вопрос c шаблонами ModelViewControl, а конкретнее Model View Presenter. Это не важно, необходимо найти выход из данной ситуации. Приношу извинения за, возможно, неудачно приведенные примеры, времени мало, переменной "y" специально не было присвоено значение, чтобы наглядно показать в чем суть проблемы...
0
|
||
|
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,302
|
||||||||||||
| 27.01.2020, 17:49 | ||||||||||||
Сообщение было отмечено AlexMarkov как решение
РешениеВ общем о проблеме, сигнал кнопки может передать только bool, а вам нужно получить объект класса, нужно создать свой сигнал, который будет возвращать object и привязать его к слоту
1
|
||||||||||||
|
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
|
|
| 27.01.2020, 19:29 [ТС] | |
|
tooru, спасибо, что и требовалось доказать.
0
|
|
| 27.01.2020, 19:29 | |
|
Помогаю со студенческими работами здесь
13
Реализация метода класса в другом модуле Не могу получить значения свойства в другом модуле Как обратиться к компоненту из Frame в другом модуле? LNK 2005, переменные уже определены в другом модуле Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать контроль заполнения реквизита табличной части. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|