2010-03-11 7 views
2

J'ai besoin d'avoir la possibilité d'utiliser des indices asnd de superscripts dans un QLineEdit dans Qt 4.6. Je sais comment faire des exposants et des indices dans un QTextEdit comme vu ci-dessous mais je n'arrive pas à comprendre comment les faire dans QLineEdit car la classe ne contient pas de fonction mergeCurrentCharFormat() comme QTextEdit. S'il vous plaît aider. MerciQt - Comment faire des exposants et des indices dans un QLineEdit?

void MainWindow::superscriptFormat() 
{ 
    QTextCharFormat format; 
    format.setVerticalAlignment(QTextCharFormat::AlignSuperScript); 
    if(ui->txtEdit->hasFocus()) 
     ui->txtEdit->mergeCurrentCharFormat(format); 
} 
+0

Il ya quelques conseils à la fin de cette page sur la façon de faire une seule ligne QTextEdit: http://lists.trolltech.com/qt-interest/2005-04/thread00302-0.html – HostileFork

+0

Merci pour votre commentaire . J'ai été capable de l'essayer dans le constructeur. Cependant, quand je le rend si petit, il montre une flèche vers le haut et vers le bas sur le côté droit du QTextEdit ce qui n'est pas souhaitable mais si je ne peux pas avoir de superscripts ou d'indices dans QLineEdit, je suppose que cela devra être fait. –

Répondre

1

QLineEdit n'a pas été vraiment fait pour ce genre de chose, comme il a été conçu pour l'entrée de texte simple. Vous avez quelques options, cependant. Le plus simple est de faire comme Fourchette Hostile suggéré et d'utiliser un QTextEdit, et d'ajouter un remplacement de style pour ne pas afficher la barre de défilement (qui je suppose enlèverait les flèches). Le plus complexe serait soit d'hériter QLineEdit et de faire votre propre dessin, ou de faire votre propre widget complètement semblable à la QLineEdit s faire.

+0

Merci! J'avais trouvé le mot Wrap mais je cherchais quelque chose à propos des barres de défilement et je n'ai rien vu. J'ai juste vérifié et trouvé. Maintenant ça a l'air génial! Merci! –

Questions connexes