2010-12-01 17 views
0

Je veux un événement "Ctrl + C" à un widget Qt, par exemple un QLineEdit lorsque la personne appuie sur l'icône de copie de mon application. Comment dois-je le faire? Fera-t-il en sorte que QLineEdit fasse ce qu'il fait lorsqu'un utilisateur appuie spécifiquement sur "Ctrl + C" (c'est-à-dire copie)? Juste une clarification: Le widget ne peut pas être QLineEdit. Dans l'un des cas, c'est QWebView. Maintenant, il affiche une page Web, dans laquelle il peut y avoir des champs de texte propres. Je veux coller quelque chose sur ces champs de texte. Cela n'est possible que si les champs de texte incorporés dans la page Web ont l'impression que l'utilisateur a appuyé sur "Ctrl + V".Comment envoyer un événement "Ctrl + C" à un widget Qt?

Répondre

0
QKeyEvent * evt = new QKeyEvent(QEvent::Type::KeyPress, Qt::Key_C, Qt::ControlModifier); 
    QCoreApplication::postEvent(target_widget, evt); 
+0

Merci pour cet extrait de code, ce qui pourrait fournir une certaine limite, une aide immédiate. Une [bonne explication améliorerait grandement sa valeur à long terme] (// meta.stackexchange.com/q/114762/350567) en montrant * pourquoi * ceci est une bonne solution au problème, et le rendrait plus utile à l'avenir lecteurs avec d'autres questions similaires. S'il vous plaît [modifier] votre réponse pour ajouter quelques explications, y compris les hypothèses que vous avez faites. – iBug

+0

@MukulKant pourquoi avez-vous supprimé. Ceci est une réponse valide. – Octo