Notas varias sobre el desarrollo de la interfaz QT (5)

QString a carbón*

QString("nombre").toStdString().c_str()

c_str() no tiene un '\0' al final, lo que puede provocar algunos errores, que se pueden solucionar mediante los siguientes métodos:

QString xmlPath = "ruta";

const char cXmlName[1024] = {0};

memcpy((void*)cXmlName,xmlPath.toStdString().c_str(),xmlPath.size());

carácter* a QString

QString(QLatin1String(pTextElement->Valor()))

El desarrollo de qml encontró problemas extraños en la versión QT 5.12

1) El problema de que el cursor no se puede mostrar cuando TextField está organizado en el diseño GridView es el siguiente: cuando no hay contenido, se cubre la posición del cursor del cuadro de entrada en la segunda columna. Agregar el margen izquierdo de TextField a 1 en el proxy resuelve este problema

TextField{
    id: textSTSN
    font.family: myFont
    antialiasing: true
    font.pixelSize: 16
    placeholderTextColor: "#005CFF"
    selectByMouse: true
    validator:
        RegularExpressionValidator {
        regularExpression: /^[0-9a-zA-Z]{1,16}$/
    }

    background: Rectangle {
        id: backRect
        radius: 4
        implicitHeight: 219
        implicitWidth: 935
        border.width: 1
        border.color: activeFocus ? "#005CFF" : "#E8E8E8"
        color: "#FAFAFA"
    }
}
Component {
        id:firstDelegate
        Item{
            width: (root.width-45)/2
            height: 78
          

            //输入框
            RegTextField{
                id: textEdit1
                anchors.left: parent.left
                anchors.leftMargin: 1//添加此行解决问题
                anchors.top: parent.top
                anchors.topMargin: 38
                anchors.right: setButton1.left
                anchors.rightMargin: 36
                height: 40
                font.pixelSize: 20
                font.family: UI.FontFamily2
                verticalAlignment: TextEdit.AlignVCenter
            }
        }
}

2) La interfaz parpadea cuando se llama al control definido por el usuario para ocultar y mostrar, y el método de depuración se utiliza para bloquear el código línea por línea. Probablemente sea un problema que la posición del control se vea afectada por la posición del diseño. Busqué en Internet y dije que necesito usar el mecanismo de doble almacenamiento en búfer, pero aún no lo sé. Esta tecnología se desvía y adopta una solución para resolver el problema de cambiar la pantalla de inicio de la interfaz Qt Quick -Conocimiento

El problema fundamental es que la computadora no ha activado el modo de alto rendimiento de la tarjeta gráfica. El uso del renderizado suave en principal mejorará de la siguiente manera:

 

QQuickWindow::setSceneGraphBackend(QSGRendererInterface::Software);

La versión QT debería actualizarse en el futuro para ver si se puede solucionar.

Supongo que te gusta

Origin blog.csdn.net/caicai_xiaobai/article/details/130264413
Recomendado
Clasificación