Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » QSpinBox Qt5 передача значения в питон [RSS Feed]

#1 Июль 17, 2018 19:13:36

Venus
Зарегистрирован: 2017-05-19
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

QSpinBox Qt5 передача значения в питон

PEHDOM
в деф стоп хочу закрытие или останов внешнего скрипта!
В конкретном примере не предусмотрен выход из бесконечной рекурсии, поэтому после запуска, второй поток уходит в бесконечную рекурсиию, а def Stop и strorint1.stop() не делают ничего.
При смене текста , поток работает со старым значением, МБ так и задумывалось. - да довторого дефа(последовательно иду) ещё не добрался но деф стоп намереваюсь сделать чтоб останавливал или закрывал модуль внешний(хотя закрывается тогда и окно виджета)

Офлайн

#2 Июль 17, 2018 19:14:19

Venus
Зарегистрирован: 2017-05-19
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

QSpinBox Qt5 передача значения в питон

rami
ага

Офлайн

#3 Июль 17, 2018 19:17:27

Venus
Зарегистрирован: 2017-05-19
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

QSpinBox Qt5 передача значения в питон

пайтон ограничивает глубину рекурсии(по умолчанию 1000) и в один момент поток отвалится выбросив исключением - правильно понимаю что тыщу раз вызовется и в ошибку вывалится?а можно так

 def start():
что то делает
def startStart():
    def start()
функция вызывает функцию можно ведь сделать?чтоб отойти от рекурсии.

Отредактировано Venus (Июль 17, 2018 19:18:28)

Офлайн

#4 Июль 17, 2018 19:21:03

Venus
Зарегистрирован: 2017-05-19
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

QSpinBox Qt5 передача значения в питон

rami
пока ток так зацикливание вызываю(учусь ток, нюансы всплывают и т.п.)

Офлайн

#5 Июль 17, 2018 21:29:34

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

QSpinBox Qt5 передача значения в питон

Venus
в деф стоп хочу закрытие или останов внешнего скрипта!
это понятно , но вопрос как? у потока нету метода стоп, в отличии от процесса у которого есть метод terminate(), и то в некоторых случаях процесс может не завершиться, а остаться “сиротой”. Поэтому нужен какойто мезанизм, сигнал ли, атрибут класса,переменная, или еще что.

Venus
правильно понимаю что тыщу раз вызовется и в ошибку вывалится?
на самомо деле даже меньше
 def rec(n):
    print(n)
    rec(n+1)
rec(0)
>>>
0
1
...
961
962
963
Traceback (most recent call last):
  File "<модуль1>", line 16, in <module>
  File "<модуль1>", line 14, in rec
  File "<модуль1>", line 14, in rec
...
RuntimeError: maximum recursion depth exceeded in comparison
Venus
функция вызывает функцию можно ведь сделать?чтоб отойти от рекурсии.
неа никакой разницы, что функция сама вызывает себя, что другую функцию котороая вызывает первую.
Вобще рекурсия предназначена несколько для иного чем создание бесконечного цикла. Это не самый разумный способ ее использовать, циклы придумали отнюдь не дураки.
Возможен вариант когда функция вызывает отложеный вызов себяже через таймер, или таймер вызывает ее с заданой периодичностью, что я собственно уже предлагал пару страниц выше.
Venus
пока ток так зацикливание вызываю(учусь ток, нюансы всплывают и т.п.)
Возможно стоит почитать какуюнить литературу для начала(того же Лутца, весьма хорошо все разжовано) чтобы не рвать гланды через жопу?



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Июль 17, 2018 21:56:48)

Офлайн

#6 Июль 17, 2018 21:39:43

Venus
Зарегистрирован: 2017-05-19
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

QSpinBox Qt5 передача значения в питон

PEHDOM
вылезло
Original exception was:
Traceback (most recent call last):
File “D:\QT Creator project\Пример\mainw.pyw”, line 34, in Start
self.sec_thread = Thread(target = strorint1.strorint)
NameError: name ‘Thread’ is not defined

добавил это self.sec_thread = Thread(target = strorint1.strorint)
self.sec_thread.start()

Отредактировано Venus (Июль 17, 2018 21:40:01)

Офлайн

#7 Июль 17, 2018 21:55:53

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

QSpinBox Qt5 передача значения в питон

Venus
NameError: name ‘Thread’ is not defined
ну дык “from threading import Thread” нужно вписать в самом начале, чет я забыл , это упомянуть



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#8 Июль 17, 2018 22:20:21

Venus
Зарегистрирован: 2017-05-19
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

QSpinBox Qt5 передача значения в питон

PEHDOM
))

Офлайн

#9 Июль 17, 2018 22:21:20

Venus
Зарегистрирован: 2017-05-19
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

QSpinBox Qt5 передача значения в питон

PEHDOM
а у тридов нету стопа? что то типа
трид старт
таймслип
трид стоп

я так понимаю мне надо просто передать значения и пуск скрипта, хотя ес остановить поток пос запуска скрипта гуи опять подвисать начнёт, скрипт то в цикл уйдёт. Или останавливать его из дефа стоп?или трид неумеет останавливатся?

Отредактировано Venus (Июль 17, 2018 22:24:40)

Офлайн

#10 Июль 17, 2018 22:44:28

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

QSpinBox Qt5 передача значения в питон

Venus синдром жирафа? я ведь писал парй постов выше

PEHDOM
у потока нету метода стоп, в отличии от процесса у которого есть метод terminate(), и то в некоторых случаях процесс может не завершиться, а остаться “сиротой”
под потоком подразмеваеться Thread, да у него нет метода стоп, завершить или остановить.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Июль 17, 2018 22:45:15)

Офлайн

  • Начало
  • » GUI
  • » QSpinBox Qt5 передача значения в питон[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version