Pourquoi mon application se comporte-t-elle différemment avec Unity?


13

xlog lorsque vous travaillez comme prévu, en dehors de l'environnement Unity

Je suis le responsable de l'application nouvellement nommé pour un programme appelé "xlog". Le programme fonctionne très bien dans tous, sauf l'environnement Unity. Il est écrit en utilisant Gtk2.

Je n'ai jamais utilisé Unity auparavant. J'ai remarqué dans Unity que la barre de menus semble être "redirigée" vers un autre endroit en dehors de l'interface graphique de mon application, vers une barre en haut de l'écran. Deuxièmement, l'une des zones de saisie de texte de mon interface graphique s'affiche sous la forme d'une ligne fine, inaccessible à l'utilisateur, sauf via la touche de tabulation.xlog dans l'unité - notez la barre de menu manquante et la boîte de commentaires n'est pas une boîte.

Si je prends l'exécutable xlog qui fonctionne parfaitement sous Ubuntu 12.04.2 LTS et le copie dans une distribution 12.10 Unity, je vois le comportement différent.

Je n'ai aucune idée où chercher, ni ce que je devrais envisager de modifier, dans l'application xlog, pour remédier à cette situation. Qu'est-ce qui est différent dans Unity et qui est unique à tous les autres environnements où cette application fonctionne correctement?


Il peut être avantageux de télécharger quelques captures d'écran pour mettre en évidence le problème.
Oli

Oli: Il n'est pas évident pour moi de télécharger les captures d'écran. C'est ma première utilisation de ce site Web.
Andy Stewart

Cliquez sur le lien d'édition, cliquez sur le lieu dans le poste que vous souhaitez que l'image apparaisse, puis cliquez sur la petite icône dans la barre d' outils qui se lit comme suit img. Un pop-in devrait apparaître. Suivez les invites.
Oli

J'ai essayé, Oli, mais ça dit que j'ai besoin de "10 points de réputation" pour poster des images.
Andy Stewart

Réponses:


10

J'ai remarqué dans Unity que la barre de menus semble être "redirigée" vers un autre endroit en dehors de l'interface graphique de mon application, vers une barre en haut de l'écran.

Je pense que ce que vous référez est le comportement par défaut sur Unity. Unity utilise un menu global (celui que vous voyez en haut) similaire à ce qui est vu sur OSX.

Menu de l'application Unity en action.

Si vous le souhaitez, cela peut être désactivé dans votre application, mais je pense que ce n'est pas très recommandé: toute personne utilisant Unity attendra le menu non pas dans la fenêtre, mais en haut.

En ce qui concerne la zone de saisie, je suppose que cela peut être un problème avec le thème Ubuntu. Pour le vérifier, essayez de changer le thème Ubuntu (sous "Paramètres système" -> "Apparence") et voyez si la boîte reste la même.

Éditer

J'étais curieux et en regardant le code, il semble que le problème soit dans votre application. Cela semble résoudre le problème (je ne peux pas entrer de nouvelle ligne sur cette case, mais je ne peux pas dire si c'est normal ou si c'est un bug). Ces valeurs (100, 200) ont été sélectionnées au hasard, ce n'est donc peut-être pas la meilleure façon de résoudre ce problème.

entrez la description de l'image ici


Merci, Salem. Avec le thème "Contraste élevé", la zone Remarques s'affiche correctement. Avec le thème Ambiance par défaut, la zone Remarques ne s'affiche pas correctement.
Andy Stewart

@AndyStewart voir ma modification.
Salem

Salem, je l'ai essayé localement et je vois la boîte de commentaires de taille différente. J'ai mis l'exécutable dans ma version Virtual Box d'Ubuntu avec Unity, et je vois que maintenant la boîte de commentaires se comporte comme prévu. Je vais regarder l'impossibilité d'entrer un <cr> - ce comportement existe avant votre modification suggérée. Merci!!! Vous avez été très utile. 73 de Andy KB1OIQ
Andy Stewart

Je viens de publier xlog 2.0.7 avec ce correctif. Merci, Salem, pour votre aide!
Andy Stewart
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.