Это просто быстрое решение, которое я придумала, и, конечно, есть лучшие решения (например, реализовать собственное редактирование строки), но это работает, как я тестировал.
Это СЛОТ:
void main_window::on_line_edit_0_text_changed( QString text )
{
QString tmp = text;
tmp.truncate( 1 ); // tmp is now first char of your text
tmp = tmp.toUpper();
if( text.size() > 1 )
{
text.remove( 0, 1 );
text = text.toLower();
text.prepend( tmp );
line_edit_0->setText( text );
}
else
{
line_edit_0->setText( tmp );
}
}
connect :
connect( line_edit_0, SIGNAL( textChanged( QString ) ), this, SLOT( on_line_edit_0_text_changed( QString ) ) );