Как передать элемент списка из цикла в функцию? [закрыто]Python

Программы на Python
Anonymous
Как передать элемент списка из цикла в функцию? [закрыто]

Сообщение Anonymous »

У меня есть программа, состоящая из двух файлов: mainWindow и openNewWindow. mainWindow бесконечно запускает строки с кнопками «Действовать», при нажатии на которые открывается новое окно, там вы можете нажать другую кнопку, которая изменяет значение m в ​​той же строке, что и кнопка «Действовать», и закрывает окно.
Мне не удается подключить Sleep() к m, потому что я либо использую неправильный синтаксис для «глобального» или подобного, либо потому, что я не могу придумать простой способ сделать это через локальные элементы с этой архитектурой кода. , но если есть способ получше, скажите мне.
mainWindow
from re import I
from tkinter import *
from tkinter.ttk import *
from array import *

from openNewWindow import openNewWindow

master = Tk()
master.state('zoomed')
master.title("popo")

rows = 100
m = list()
bt = list()

def popo():
for i in range(rows):
# create an instance of IntVar() and append to list m
m.append(IntVar())

w = Button(master, text = "Act", command = lambda: openNewWindow())
w.grid(row = i % 40, column = (i // 40) * 6, sticky = W, pady = 2)
bt.append(w)
print(m.get())

l1 = Label(master, textvariable = m[-1])
l1.grid(row = i % 40, column = (i // 40) * 6 + 1, sticky = W, pady = 2)

b1 = Button(master, text = "Act", command = popo)
b1.grid(row = 0, column = 0, sticky = W, pady = 2)

mainloop()

openNewWindow
from re import I
from tkinter import *
from tkinter.ttk import *
from array import *

def sleep(): # Doesn't work the way I need
global m
m.set(m.get()+1)

def openNewWindow():
global newWindow

newWindow = Toplevel()

newWindow.title("Action")

newWindow.geometry("800x400")

btSle = Button(newWindow, text = "Sleep", command = lambda: sleep())
btSle.grid(row = r, column = 1, sticky = W, pady = 2)


Подробнее здесь: https://stackoverflow.com/questions/784 ... o-function

Вернуться в «Python»