Si je me réfère à la doc, lorsqu'un nouveau QWidget ou un QDialog non modal, ou un autre truc hérité de QWidget mais osef est appelé avec .show() il est sensé prendre le focus, ceci est peut être une bêtise vu que je ne retrouve plus l'endroit où je pense avoir lu ça... Ceci dit c'est pas le soucis, le soucis est que ceci :
Code: Select all
var a = new QDialog();
var b = new QPushButton("parent", a);
var c = new QDialog(a);
var d = new QPushButton("enfant", c);
c.show();
Console.print(c.focus); //return false, soit
c.setFocus(true);
Console.print(c.focus); //return true, cool
a.exec();
Mais, bien sur si il y a pas de mais c'est pas drôle, c ne prend pas le focus héhé. Il reste sur a.
De plus,
Code: Select all
var a = new QDialog();
var b = new QPushButton("parent", a);
var c = new QDialog(a);
var d = new QPushButton("enfant", c);
var e = new QDialog(a);
var f = new QPushButton("enfant2", e);
c.show();
e.show();
c.raise(); //c apparait bien en haut de la pile, ça marche
c.activateWindow(); //le focus reste sur a
OU
d.activateWindow(); //ça ne change rien
a.exec();
Du coup est ce que c'est possible de donner le focus à une fenêtre non modal avec QtScript ? Car en C++ pas de soucis a priori, les 2 solutions fonctionnent très bien.Doc en mousse wrote:Définit le widget de haut niveau contenant ce widget en tant que fenêtre active.
Une fenêtre active est une fenêtre de haut niveau visible qui détient le focus d'entrée du clavier.
Merci d'avance et désolé d'utiliser le forum d'Actiona pour quasi uniquement des demandes d'aides centrées sur Qt mais quand je vois sur le forum officiel de Qt qu'en 1 mois, il y a eu 4 sujets d'ouverts et 0 pour QtScript, sniff...