demanda
El principal problema es que el texto aparecerá debajo del icono, así que espero empezar a escribir desde el lado derecho del icono.
Prefacio
Este problema no se ha resuelto durante mucho tiempo. Busqué en Internet durante mucho tiempo, como setCursorPosition, setFocus, LineEdit text position setting setTextCursor, cursorForward y setAlignment inicializados al principio y al final del texto no pueden resolver el problema. El siguiente código Todos son algunos intentos.
Tabla de contenido
Algunos intentos
// int i = ui->lineEdit->cursorPosition();
// i+=10;
// qDebug() << i;
// ui->lineEdit->setCursorPosition(i);
// ui->lineEdit_2->setCursorPosition(i);
// ui->lineEdit->setFocus();
// ui->lineEdit_2->setFocus();
//ui->lineEdit->setCursorPosition(120);
//ui->lineEdit->setFocus();
//ui->lineEdit->setCursorPosition(ui->lineEdit->text().size());
//tmpCursor.setPosition(20);
// ui->lineEdit->setTextCursor(tmpCursor);
//ui->lineEdit->setAlignment(Qt::AlignJustify);
//ui->lineEdit->cursorForward(10);//往右
//ui->lineEdit->setFocusPolicy(Qt::NoFocus); // 得到焦点时,不显示虚线框
solución
El icono es una etiqueta. Entonces este tamaño es el tamaño aproximado del icono (no es preciso), pero dejar este espacio es suficiente.
//一般小图标就是这个大小
QSize size = QSize(30, 30);
// 设置输入框中文件输入区,不让输入的文字被隐藏在按钮下
ui->lineEdit->setTextMargins(size.width(), 1, 1 , 1);
Ubicación del código
Simplemente configúrelo en esta ubicación:
referencia
https://blog.csdn.net/sniper_bing/article/details/47039939