Faits:
A. Le 6 septembre 2005, le Service de protection de la jeunesse du canton de Genève a dénoncé au Procureur général des attouchements prétendument commis sur l'enfant A._, née en 1963, par l'ex-ami de sa mère, X._.
B. Le 14 septembre 2005, B._ a déposé plainte pénale contre X._. Elle exposait qu'ils s'étaient rencontrés le 12 septembre 2005 dans un pub, afin de parler de leur enfant commun, C._, âgé de 14 mois. La discussion avait dégénéré. X._ s'était fâché et lui avait craché au visage en la traitant de "pute", sur quoi elle lui avait renversé un verre de bière sur la tête, puis avait cassé le verre. Il l'avait alors violemment frappée à la tête et elle était tombée au sol.
Entendu le même jour par la police, X._ a confirmé avoir eu une discussion virulente avec son ex-amie. Cette dernière s'était énervée, lui avait jeté un cendrier au visage et lui avait brisé un verre sur la tête. Il l'avait giflée à deux reprises.
C. Le 16 septembre 2005, X._ a été inculpé d'actes d'ordre sexuel avec des enfants et de lésions corporelles simples
Lors de son audition par le juge d'instruction, le 6 octobre 2005, X._, assisté de son conseil, a expliqué que son ex-amie lui avait demandé de l'argent pour payer la baby-sitter de leur fils C._. Il avait refusé, rétorquant que l'argent était en réalité destiné à jouer au casino. Elle lui avait alors dit qu'elle avait un ami tunisien, qui allait reconnaître C._ comme son enfant. Il lui avait répondu qu'il y avait une loi et qu'il reprendrait son fils. Son ex-amie s'était alors levée et lui avait cassé un verre de bière sur la tête. Il avait saigné, mais n'avait pas porté plainte, car il s'agissait de la mère de son fils. Lorsque celle-ci lui avait brisé le verre sur la tête, il avait eu très peur.
De son côté, la plaignante a confirmé avoir demandé de l'argent à son ex-ami pour payer la nourrice. Il lui avait dit avoir entrepris des démarches pour reconnaître C._. Elle lui avait rétorqué qu'il était prématuré d'en parler, au vu des révélations de A._. Elle lui avait ensuite déclaré qu'elle avait un ami tunisien, qui avait une bonne situation et était éventuellement disposé à reconnaître C._. X._ lui avait craché au visage, la traitant de "pute". Elle s'était levée et lui avait renversé la bière sur la tête, puis avait cassé le verre. Elle avait envisagé de le blesser avec le tesson, mais s'était en définitive blessée elle-même à un doigt de la main droite. Elle avait en outre lancé un cendrier. X._ l'avait violemment giflée, si bien qu'elle avait presque perdu connaissance.
D. Par ordonnance du 10 mai 2006, le Procureur général a renvoyé X._ devant le Tribunal de police, du chef d'infraction à l'<ref-law> exclusivement, classant ainsi implicitement la procédure en ce qui concerne les lésions corporelles simples.
Statuant le 21 décembre 2006 sur appel de X._, la Chambre pénale de la Cour de justice genevoise l'a libéré des fins de la poursuite pénale, considérant que les éléments constitutifs de l'<ref-law> n'étaient pas réalisés.
E. Le 11 juillet 2007, X._ a recouru à la Chambre d'accusation genevoise contre la décision du Procureur général du 10 mai 2006, en tant que cette dernière classait implicitement la procédure quant à la prévention de lésions corporelles simples. Il concluait à l'annulation du classement et au prononcé d'un non-lieu.
Par ordonnance du 26 septembre 2007, la Chambre d'accusation a rejeté le recours et confirmé le classement. Préalablement, elle a observé que, selon la pratique cantonale, une décision de classement implicite non notifiée ne faisait pas courir le délai de recours à son encontre; en l'occurrence, ce dernier était donc recevable, nonobstant le fait qu'il avait été déposé le 11 juillet 2007 seulement. Sur le fond, elle a considéré que la prévention de lésions corporelles simples ou, du moins, de voies de fait était suffisamment établie, de sorte que le prononcé d'un non-lieu était exclu.
F. X._ forme un recours en matière pénale au Tribunal fédéral, pour arbitraire dans l'établissement des faits et violation de l'art. 33 al. 1 aCP. Il conclut à l'annulation de la décision attaquée, en sollicitant l'assistance judiciaire. Des déterminations n'ont pas été requises.

Considérant en droit:
1. Le recours ordinaire au Tribunal fédéral peut notamment être formé pour violation du droit fédéral (<ref-law>), y compris les droits constitutionnels. Sous peine d'irrecevabilité, il doit être motivé conformément à l'<ref-law>, respectivement à l'<ref-law> pour les griefs mentionnés à cette disposition, dont les exigences correspondent à celles qui résultaient de l'art. 90 al. 1 let. b OJ pour le recours de droit public (<ref-ruling> consid. 1.4 p. 287).
2. Le recourant soutient que le refus de le mettre au bénéfice d'un non-lieu, plutôt que d'un classement, repose sur un état de fait établi arbitrairement. Plus précisément, c'est de manière insoutenable que l'autorité cantonale aurait tenu pour constant qu'il avait adopté un comportement brutal envers son ex-amie en crachant au visage de cette dernière et en l'insultant.
2.1 De jurisprudence constante, il ne suffit pas, pour qu'il y ait arbitraire, que la décision attaquée apparaisse discutable ou même critiquable; il faut qu'elle soit manifestement insoutenable et cela non seulement dans sa motivation mais dans son résultat (<ref-ruling> consid. 2 p. 61; <ref-ruling> consid. 2.1 p. 9, 173 consid. 3.1 p. 178; <ref-ruling> consid. 2.1 p. 182, 273 consid. 2.1 p. 275).
2.2 La décision attaquée retient l'existence d'une prévention suffisante de lésions corporelles ou, du moins, de voies de fait, donc d'une atteinte à l'intégrité physique, et non à l'honneur, de la plaignante. Dès lors, même en admettant que le fait contesté, à savoir que le recourant aurait craché au visage de la plaignante et l'aurait injuriée, ne serait pas établi, la décision attaquée ne serait pas pour autant arbitraire dans son résultat.
Pour le surplus, le recourant ne nie pas avoir, par deux fois, violemment giflé la plaignante, au point de la faire tomber, mais admet au contraire expressément, dans le cadre de son grief de violation de l'art. 33 al. 1 aCP, avoir agi de la sorte. Il ne démontre au demeurant pas, ni même ne prétend, que, sur la base du fait ainsi retenu, l'autorité cantonale aurait violé arbitrairement le droit cantonal de procédure en admettant qu'il existait une prévention suffisante de l'infraction en cause et que le prononcé d'un non-lieu était donc exclu.
Le grief doit ainsi être rejeté.
3. Le recourant reproche à l'autorité cantonale d'avoir méconnu, en violation de l'art. 33 al. 1 aCP, qu'il a agi en état de légitime défense lorsqu'il a giflé la plaignante. A l'appui, il fait valoir que cette dernière lui avait lancé un cendrier à la tête et avait cassé un verre de bière afin d'en faire un objet tranchant dans l'intention de le blesser.
3.1 Les faits remontent au mois de septembre 2005 et sont donc antérieurs à l'entrée en vigueur, le 1er janvier 2007, des nouvelles dispositions de la partie générale du code pénal. Comme l'autorité cantonale, qui a statué après cette date, disposait d'un libre pouvoir d'examen en fait et en droit, se pose la question de la lex mitior (<ref-law>).
La règle de l'art. 33 al. 1 aCP a été reprise à l'<ref-law> et celle de l'art. 33 al. 2 aCP à l'<ref-law> (cf. Message du 21 septembre 1998 relatif à la modification des dispositions générales du code pénal; FF 1999, 1785 ss, 1811). S'agissant de la légitime défense, respectivement de la défense excusable, il n'y a donc pas de réelle différence entre l'ancien et le nouveau droit. Ce dernier n'est ainsi pas plus favorable au recourant, de sorte que, conformément à l'<ref-law>, l'ancien droit demeure applicable.
3.2 La légitime défense suppose une attaque, c'est-à-dire un comportement visant à porter atteinte à un bien juridiquement protégé, ou la menace d'une attaque, soit le risque que l'atteinte se réalise. Il doit s'agir d'une attaque actuelle ou à tout le moins imminente, ce qui implique que l'atteinte soit effective ou qu'elle menace de se produire incessamment (cf. <ref-ruling> consid. 2a p. 14; <ref-ruling> consid. c p. 236/237). Cette condition n'est pas réalisée lorsque l'attaque a cessé ou qu'il n'y a pas encore lieu de s'y attendre (<ref-ruling>). Une attaque n'est cependant pas achevée aussi longtemps que le risque d'une nouvelle atteinte ou d'une aggravation de celle-ci par l'assaillant reste imminent (<ref-ruling> consid. 2b p. 4/5). Il faut toutefois que des signes concrets annonçant un danger incitent à la défense. Tel est notamment le cas lorsque l'agresseur adopte un comportement menaçant, se prépare au combat ou effectue des gestes qui donnent à le penser (<ref-ruling>/84). Par ailleurs, l'acte de celui qui est attaqué ou menacé de l'être doit tendre à la défense. Un comportement visant à se venger ou à punir ne relève pas de la légitime défense. Il en va de même du comportement qui tend à prévenir une attaque certes possible mais encore incertaine, c'est-à-dire à neutraliser l'adversaire (<ref-ruling>).
3.3 La décision attaquée retient que la plaignante a jeté un cendrier au visage du recourant, sans toutefois l'atteindre, et qu'elle a envisagé de le blesser avec le verre de bière qu'elle avait cassé, mais ne l'a cependant pas fait. Le recourant a alors violemment giflé la plaignante à deux reprises.
Au vu des faits ainsi retenus, il n'est nullement établi que le recourant aurait giflé la plaignante pour se défendre d'une attaque actuelle ou imminente. Lorsqu'il l'a fait, il n'était plus attaqué, ni menacé de l'être, et rien dans les constatations de fait cantonales ne permet de retenir l'existence de signes concrets d'une nouvelle atteinte de la part de la plaignante. Dans ces conditions, le recourant ne saurait soutenir qu'il a agi en état de légitime défense. Le grief est dès lors infondé.
4. Sur le vu de ce qui précède, le recours doit être rejeté. Comme il était d'emblée voué à l'échec, l'assistance judiciaire ne peut être accordée (cf. <ref-law>). Le recourant, qui succombe, devra donc supporter les frais (<ref-law>), dont le montant sera toutefois arrêté en tenant compte de sa situation financière.

Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté.
2. La requête d'assistance judiciaire est rejetée.
3. Les frais judiciaires, arrêtés à 1600 fr., sont mis à la charge du recourant.
4. Le présent arrêt est communiqué aux parties et à la Chambre d'accusation du canton de Genève.
Lausanne, le 27 février 2008
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président: La Greffière:
Schneider Angéloz