
Vladimir
06.07.2018
13:01:13
Всем добрый день! Пишу для программы GUI на tkinter-e суть в том что когда я нажимаю на кнопку из другого модуля вызывается функция в которой есть цикл, как мне при каждой итерации цикла перекидывать значение в модуль гуя? У меня там идет прогресс бар чтобы было видно что процесс исполняется. Код переносить в модуль гуя не предлагайте, генераторы тоже, поскольку кода уже много, буду всем благодарен за совет

Yurij
06.07.2018
13:02:27

Водитель НЛО
06.07.2018
13:04:54
Дротути. Сколько памяти должно быть доступно 32битному питону? У меня вылетает когда разжирается до 1,8гб, MemoryError

Google

Tigran
06.07.2018
13:04:57
пусть твоя функция принимает коллбек и вызывает его каждую итерацию

Yurij
06.07.2018
13:06:15

Водитель НЛО
06.07.2018
13:06:55

Aragaer
06.07.2018
13:07:32
в линуксе 1 гиг из 4 занимает ядро

cookie
06.07.2018
13:07:33

Aragaer
06.07.2018
13:07:35
так что 3 8)

Yurij
06.07.2018
13:09:04

Eldar
06.07.2018
13:09:21

Tigran
06.07.2018
13:09:24
Это когда yeld?
когда угодно, когда тебе может потребоваться обновить прогресс бар

Makc
06.07.2018
13:09:29

Eldar
06.07.2018
13:09:46

Vladimir
06.07.2018
13:11:00

Google

Vladimir
06.07.2018
13:11:34

Водитель НЛО
06.07.2018
13:11:41
Спасибо, товарищи, чекну библиотеки и подниму вопрос переезда на 64битный питон.

Vladimir
06.07.2018
13:11:48
Придется переписывать уйму кода
Чтобы все скинуть на них
Плюс у меня цикл с условиями
Так что это не

Tigran
06.07.2018
13:13:30
Можно пожалуйста простой пример?
def my_heavy_computations(callback):
for i, something in enumerate(somelist):
callback(i * 100 / len(somelist))
# do work
def button_click():
def update_progress_bar(percent):
my_progress_bar.set_value(percent)
do_heavy_computations(update_progress_bar)

Vladimir
06.07.2018
13:14:20
Огромное спасибо!
Это то что нужно!)

Yurij
06.07.2018
13:17:20
Да, но сроки.?

Vladimir
06.07.2018
13:21:52

Tishka17
06.07.2018
13:23:39
вот и отлично

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.07.2018
13:29:18
Ааахахахаах, смешной КуТэ, прекрати =)))
Хочу кнопку в окне, а она хренак и в отдельном окне =)
def createView(title, model):
global offset, views
view = QtWidgets.QTableView()
btn = QtWidgets.QPushButton()
views.append(view)
views.append(btn)
view.setModel(model)
view.setWindowTitle(title)
view.move(100 + offset, 100 + offset)
offset += 20
view.show()
btn.show()
Подскажите как бы так кнопку в том же окне нарисовать?

Yurij
06.07.2018
13:30:14

Jentry
06.07.2018
13:31:19

Aragaer
06.07.2018
13:32:46
могу ошибаться. Просто одно время имел дело с операционкой на основе линукса, там адреса начиная с 0xC0000000 были зарезервированы для ядра
как раз верхний гигабайт

Jentry
06.07.2018
13:33:10

Google

Aragaer
06.07.2018
13:33:19
ну и если в реальном линуксе глянуть, то стек живет где-то в районе 0xbчто-то
то есть по факту для хипа адреса даются между 0 и 0xc, то есть 3 гига
ну да, виртуальные
то есть адресное пространство процесса на 32-битной машине 4 гига, но по факту больше 3 гигов не зажрать
без PAE

Егор
06.07.2018
13:41:42
Друзья, подскажите ресурс, книгу или что ещё где много примеров с решением задач на питоне?

Nikolay
06.07.2018
13:43:31

Jentry
06.07.2018
13:43:43

Vladimir
06.07.2018
14:04:04
И снова всем привет
Есть модуль где gui на tkinter
Нажимаю кнопку
Идет вызов функции с циклом из другого модуля
Через коллбек значение идет в гуй и ставится на програсс баре

N. M.
06.07.2018
14:05:02
Анончик, пожалуйста, одним сообщением

Vladimir
06.07.2018
14:05:46
Проблема в том что проценты на нем не понявляются, но если остановить процесс, прервать, то появляются на оом месте где остановилосб
Т.е. функция для постановки процента вызывается нормально
Никаких исключений

Tigran
06.07.2018
14:06:11
Там наверняка где-то есть метод для перерисовки гуи. Надо его тоже вызывать
если уж у тебя всё в одном процессе крутится

Vladimir
06.07.2018
14:06:35

Google

Vladimir
06.07.2018
14:06:47

Tigran
06.07.2018
14:06:49
очевидно, потому что у гуи доходят руки до перерисовки
У тебя же один процесс. Когда ты жмякаешь кнопку и начинаются вычисления, для гуи это один большой обработчик нажатия кнопки. Оно не может начать обрабатывать другие события (апдейтить прогрессбар, обрабатывать другие клики). Надо либо в отдельный процесс/поток выносить, либо регулярно вызывать метод (что-то вроде processEvents), который разгружает очередь событий.
И интерфейс сразу перестанет зависать.

Vladimir
06.07.2018
14:09:40
Спасибо, сейчас вот в доках ищк метод
Потому как в отдельный процесс выносить = переписать больше кода
А tk легковесный
Можно и чуть нагрузить вызовами

Tishka17
06.07.2018
14:12:21
А что, тред не поможет?

Олег
06.07.2018
14:19:46
В пандас как сделать фильтр по столбцу, что бы был
1 < df['col'] <= 10
Получается или
pos = df['pos'] <= 10
что захватывает и нулевые значения или
pos = df['pos'] > 0
что.. ну вы поняли)
При попытке сделать
in list(range(1, 11))
даёт ошибку

Philipp
06.07.2018
14:22:15
df[ (df["col1"]<=10) & (df["col1"]>0)]

Олег
06.07.2018
14:22:30
Во спасибо, про & забыл совсем

Vladimir
06.07.2018
14:28:30
Все, получилось)

Tishka17
06.07.2018
14:28:54
Ну тогда увы
Это же первое правило gui разработчика - никакой долгой работы в ui потоке

Nikolay
06.07.2018
14:42:36
а я думал, первое правило - не пиши гуй на питоне

Rio
06.07.2018
14:44:24

Google

Tigran
06.07.2018
14:46:03

Rio
06.07.2018
14:48:59
Чет с балансировкой косяк. Обратная отдача первоочередна же.

Andrew
06.07.2018
14:49:30
Парни, при подключении к MySQL через sqlalchemy в Python возникает ошибка: "Authentication plugin '{0}' is not supported".format(plugin_name))
sqlalchemy.exc.NotSupportedError: (mysql.connector.errors.NotSupportedError) Authentication plugin 'caching_sha2_password' is not supported (Background on this error at: http://sql
alche.me/e/tw8g) "
Уже пробывал менять пользователя и пароль, изменял my.ini файл, но ничего не помагает, подскажите, как можно исправить эту ошибку?

Vladimir
06.07.2018
14:49:53
Я пишу небольшое приложение для своих нужд, поэтому простительно)
Ну тогда увы
Это же первое правило gui разработчика - никакой долгой работы в ui потоке

Rio
06.07.2018
14:56:38

Philipp
06.07.2018
14:57:10

Tigran
06.07.2018
14:57:17

Andrew
06.07.2018
14:57:34

Rio
06.07.2018
14:58:05

Tishka17
06.07.2018
14:58:16

Andrew
06.07.2018
14:58:19

Anton
06.07.2018
15:00:19
https://stackoverflow.com/questions/50349562/python-mysql-connector-caching-sha2-password-plugin