Qt LineEditar la posición del texto del cursor + problema del icono

Inserte la descripción de la imagen aquí

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.

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:
Inserte la descripción de la imagen aquí

referencia

https://blog.csdn.net/sniper_bing/article/details/47039939

Supongo que te gusta

Origin blog.csdn.net/qq_16488989/article/details/109068789
Recomendado
Clasificación