powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как из другого модуля обратиться к виджету Python?
7 сообщений из 7, страница 1 из 1
Как из другого модуля обратиться к виджету Python?
    #39662177
tem@
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть форма сделанная в pygt5 и на ней есть textEdit.
При работе подключаемой функции из модуля на форму в textEdit хотел передать текст,
но как передавать параметры из модуля в виджет pygt, как обратиться к нему??

main.py
Код: 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.
26.
27.
import sys
from main_form import *
from work import *
from PyQt5 import QtCore, QtGui, QtWidgets

class MyWin(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        QtWidgets.QWidget.__init__(self, parent)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.ui.lineEdit.setPlaceholderText("Пример: 2018")
        self.ui.lineEdit_2.setPlaceholderText("Пример: 07")

        self.ui.pushButton.clicked.connect(self.Check)
        self.show()

    def Check(self):
        year = self.ui.lineEdit.text()
        month = self.ui.lineEdit_2.text()
        extract(self, dir, year, month)
    

if __name__=="__main__":
    app = QtWidgets.QApplication(sys.argv)
    myapp = MyWin()
    myapp.show()
    sys.exit(app.exec_())




work.py
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
import zipfile
import timeit
import os

def extract(self, dir, year, month):
    if os.listdir(dir):
        for file in os.listdir(dir):
            if os.path.isfile(dir+file):
                time_start = timeit.default_timer()
                with zipfile.ZipFile(dir + file, 'r') as zfile:
                    zfile.extractall(path='C:\\txt\\1\\')
                    zfile.close()

                tm_wr = str(timeit.default_timer() - time_start)               

                self.ui.textEdit.setText(tmp_zip + '  время обработки: ' + tm_wr[0: 5]) 
# в этом месте хочу отправить в виджет строки о разной информации обработки файла. 



но данный вариант не работает, как из этого скрипта обратиться к любому виджету и передать/изменить что-то у него???
...
Рейтинг: 0 / 0
Как из другого модуля обратиться к виджету Python?
    #39662248
Фотография NekZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tem@но данный вариант не работает
В чём это проявляется? Как образом не работает?
...
Рейтинг: 0 / 0
Как из другого модуля обратиться к виджету Python?
    #39662266
tem@
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NekZtem@но данный вариант не работает
В чём это проявляется? Как образом не работает?

Вообще ничего не выводится в textEdit и ошибки нет, думал не правильно обращаюсь к виджету...
...
Рейтинг: 0 / 0
Как из другого модуля обратиться к виджету Python?
    #39662319
Фотография NekZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tem@,

Попробуй выводить в self.ui.lineEdit, который у тебя фигурирует в MyWin.__init__, продебаж в конце концов.
...
Рейтинг: 0 / 0
Как из другого модуля обратиться к виджету Python?
    #39662333
tem@
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NekZ,

Дело в цикле, пока цикл крутится в виджеты ничего не выводится, если цикл прервать то все сразу в textEdit появится!
А программа должна быть постоянно запущена, т.к файлы появляются в папке постоянно и их надо обрабатывать, и для пользователей хотел сделать чтоб удобно отображалась инфа какой файл обрабатывается и тд. Получается нет способа кроме как выводить данные в консоле? :-((
...
Рейтинг: 0 / 0
Как из другого модуля обратиться к виджету Python?
    #39662356
Фотография NekZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tem@,

А, всё понял. В цикле вызывай
Код: python
1.
QApplication.instance().processEvents()
...
Рейтинг: 0 / 0
Как из другого модуля обратиться к виджету Python?
    #39662503
tem@
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NekZ,

Спасибо, работает, то что нужно!!!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как из другого модуля обратиться к виджету Python?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]