Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Call for Presentations - Qt World Summit

    Unsolved QVirtualKeyboard su Raspberry riempie tutta la schermata

    Italian
    2
    2
    258
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      Andrea_M last edited by

      Buongiorno a tutti,
      Sto muovendo i primi passi nel mondo della crosscompilazione con Qt e Raspberry
      Nel complesso le operazioni di compilazione funzionano abbastanza bene, ma ho un problema con la tastiera virtuale. Mi spiego:
      Compilo la mia applicazione (prendo ad esempio ll classica "basic" che si trova tra gli esempi proprio per la tastiera virtuale), mi crea un eseguibile che funziona senza problemi sotto X.
      Ho installato comunque il Creator anche sotto Raspberry, e compilandolo nativamente tutto ok (ma questo è abbastanza ovvio).
      Ora vorrei avviare l'applicazione direttamente all'accensione.
      Ho inserito in /usr/share/xsessions/lightdm-xsession.desktop la riga:

      Exec=/home/pi/basic/basic
      

      e, lanciando

      sudo service lightdm restart
      

      mi si apre l'applicazione a pieno schermo.
      Il problema è nell'inserimento del testo, perchè la tastiera "copre" con una porzione di sfondo tutto il resto dell'applicazione (sia nell'esempio che nella mia applicazione).

      kvirtualkeyboard.jpg
      Se uso la tastiera virtuale, e poi la nascondo, l'applicazione mostra di ricevere gli inserimenti in modo corretto.
      Sembra che, se non carico un desktop manager, non vengano gestite opportunamente le componenti "applicazione" e "tastiera virtuale", che vengono visualizzate solo a pieno schermo.
      Questo comportamento è presente sia nel programma compilato nativamente su Raspberry che su quello crosscompilato.
      Tornando alla mia applicazione,la tastiera virtuale viene semplicemente chiamata dal main.cpp , con l'applicazione di uno stile.

      qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
      qputenv("QT_VIRTUALKEYBOARD_STYLE",QByteArray("orange"));
      

      Mi è sembrato di capire che questo metodo è un po' troppo minimale quando si utilizza eglfs, senza appoggiarsi al server X11 o Wayland, ma speravo, nel mio caso (usando lightdm) di non aver problemi.
      Qualcuna sa indirizzarmi sulla strada giusta?
      Grazie mille a tutti

      piervalli 1 Reply Last reply Reply Quote 0
      • piervalli
        piervalli @Andrea_M last edited by

        @Andrea_M,
        Non ho mai usato Qt su Raspberry, penso che la configurazione sia dovuta al qml.
        Il pannello della tastiera si può spostare in base al focus dell'oggetto. attivato in quel momento.
        Questo è un vecchio test che avevo fatto.
        https://github.com/piervalli/Qt-VirtualKeyboard

        1 Reply Last reply Reply Quote 0
        • First post
          Last post