We propose a gradient-based method for quadratic programming problems with a single linear constraint and bounds on the variables. Inspired by the GPCG algorithm for boundconstrained convex quadratic programming [J.J. Moré and G. Toraldo, SIAM J. Optim. 1, 1991], our approach alternates between two phases until convergence: an identification phase, which performs gradient projection iterations until either a candidate active set is identified or no reasonable progress is made, and an unconstrained minimization phase, which reduces the objective function in a suitable space defined by the identification phase, by applying either the conjugate gradient method or a recently proposed spectral gradient method. However, the algorithm differs from GPCG not only because it deals with a more general class of problems, but mainly for the way it stops the minimization phase. This is based on a comparison between a measure of optimality in the reduced space and a measure of bindingness of the variables that are on the bounds, defined by extending the concept of proportional iterate, which was proposed by some authors for box-constrained problems. If the objective function is bounded, the algorithm converges to a stationary point thanks to a suitable application of the gradient projection method in the identification phase. For strictly convex problems, the algorithm converges to the optimal solution in a finite number of steps even in case of degeneracy. Extensive numerical experiments show the effectiveness of the proposed approach.Gradient Projection (GP) methods are widely used to solve large-scale SLBQP problems, thanks to the availability of low-cost projection algorithms onto the feasible set of (1.1) (see, e.g, [8,12,9]). In particular, Spectral Projected Gradient methods [4], other GP methods exploiting variants of Barzilai-Borwein (BB) steps [35,12], and more recent Scaled Gradient Projection methods [6] have proved their effectiveness in several applications.Bound-constrained Quadratic Programming problems (BQPs) can be regarded as a special case of SLBQPs, where the theory or the implementation can be simplified. This has favoured the development of more specialized gradient-based methods, built upon the idea of combining steps aimed at identifying the variables that are active at a solution (or at a stationary point) with unconstrained minimizations in reduced spaces defined by fixing the variables that are estimated active [31,24,32,25,3,20,22,27,21,28]. Thanks to the identification properties of the GP method [7] and to its capability of adding/removing multiple variables to/from the active set in a single iteration, GP steps are a natural choice to determine the active variables. A wellknown method based on this approach is GPCG [32], developed for strictly convex BQPs. It alternates between two phases: an identification phase, which performs GP iterations until a suitable face of the feasible set is identified or no reasonable progress toward the solution is achieved, and a minimization phase, which uses the ...