Гость
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как из другого модуля обратиться к виджету Python? / 7 сообщений из 7, страница 1 из 1
18.06.2018, 21:45
    #39662177
tem@
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как из другого модуля обратиться к виджету Python?
Есть форма сделанная в 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
19.06.2018, 07:39
    #39662248
NekZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как из другого модуля обратиться к виджету Python?
tem@но данный вариант не работает
В чём это проявляется? Как образом не работает?
...
Рейтинг: 0 / 0
19.06.2018, 09:01
    #39662266
tem@
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как из другого модуля обратиться к виджету Python?
NekZtem@но данный вариант не работает
В чём это проявляется? Как образом не работает?

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

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

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

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

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


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